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

ARTICLE DETAIL

資訊詳情

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

PyTorch圖像預(yù)處理三件套:Resize、RandomCrop、Normalize實(shí)戰(zhàn)詳解

PyTorch圖像預(yù)處理三件套:Resize、RandomCrop、Normalize實(shí)戰(zhàn)詳解 我最早帶零基礎(chǔ)學(xué)員做Pytorch項(xiàng)目的時(shí)候發(fā)現(xiàn)十個(gè)人里有七八個(gè)會(huì)卡在同一個(gè)地方——不是模型結(jié)構(gòu)看不懂也不是訓(xùn)練循環(huán)不會(huì)寫而是數(shù)據(jù)預(yù)處理這一層“黑盒”。圖片明明看著好好的一跑就報(bào)錯(cuò)或者loss死活不降。今天這期零基礎(chǔ)入門四就把torchvision.transforms里出現(xiàn)頻率最高的三個(gè)操作一次性講透Resize、RandomCrop、Normalize再配一個(gè)能直接跑的示例保證你看完就能在自己的項(xiàng)目里用起來。這期內(nèi)容適合正在學(xué)Pytorch、準(zhǔn)備做圖像分類/目標(biāo)檢測、或者剛接觸深度學(xué)習(xí)卻對(duì)transforms一知半解的朋友。我會(huì)盡量把“每個(gè)操作到底在干什么”“為什么這么寫”“有哪些坑”都講清楚而不是只丟給你一段會(huì)跑的代碼??赐曛竽阍倏吹骄W(wǎng)上形形色色的預(yù)處理代碼就不會(huì)只是復(fù)制粘貼了。1. 先把三個(gè)操作在Pytorch里的大致位置弄清楚1.1 數(shù)據(jù)預(yù)處理在訓(xùn)練管線中的角色一張圖片從硬盤里被讀進(jìn)來到真正喂進(jìn)模型中間一般要經(jīng)過這樣幾步圖片讀取 - 尺寸調(diào)整 - 裁剪 - 轉(zhuǎn)Tensor - 歸一化 - 對(duì)齊batch。這三者都屬于“圖片到張量”這一過程中的環(huán)節(jié)。如果你用的是公開數(shù)據(jù)集比如CIFAR10、ImageNet這些操作已經(jīng)在庫內(nèi)部幫你接好了但如果自己收集圖片、自己做數(shù)據(jù)集里的__getitem__就一定要親手寫預(yù)處理。用一個(gè)生活類比模型就像一臺(tái)對(duì)原料有嚴(yán)格要求的加工機(jī)器有的機(jī)器只收50x50x3的口徑有的機(jī)器要求數(shù)值在01之間有的則要求在均值0、方差1的分布下才好處理。你從菜市場買回來的土豆大小各異、還帶泥預(yù)處理就是“洗土豆、切土豆、按標(biāo)準(zhǔn)分量裝袋”的環(huán)節(jié)。Resize負(fù)責(zé)把不同尺寸的圖統(tǒng)一成模型需要的尺寸RandomCrop負(fù)責(zé)隨機(jī)切出一塊作為訓(xùn)練樣本Normalize負(fù)責(zé)把像素?cái)?shù)值調(diào)整到合適的范圍。很多零基礎(chǔ)朋友容易忽略的位置是這些操作并不是模型訓(xùn)練過程中“自動(dòng)完成的”而是發(fā)生在Dataset.__getitem__里、或者用DataLoader批量取數(shù)的時(shí)候。換句話說它們是CPU上處理的雖然簡單但每一步的耗時(shí)都會(huì)被放大——數(shù)據(jù)集越大預(yù)處理代碼的質(zhì)量影響越明顯。1.2 為什么用torchvision的transforms而不是自己手寫當(dāng)然可以手寫。你完全可以用PIL自己寫一個(gè)resize函數(shù)再用numpy手算歸一化。但torchvision的transforms最大的價(jià)值不是“幫你省幾行代碼”而是組合起來方便、有統(tǒng)一接口、默認(rèn)實(shí)現(xiàn)經(jīng)過大量項(xiàng)目驗(yàn)證。from torchvision import transforms transform transforms.Compose([ transforms.Resize(128), transforms.RandomCrop(112), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ])這段代碼你看一眼就知道它做了四件事順序也清楚。而Compose內(nèi)部會(huì)把上面每個(gè)變換依次作用到輸入圖片上像一條流水線。自己手寫當(dāng)然也可以但組合、調(diào)試、隨機(jī)性控制都要自己維護(hù)尤其當(dāng)你需要“訓(xùn)練集和驗(yàn)證集用不同變換”的時(shí)候用Compose分別定義兩條流水線會(huì)清晰很多。不過也正因?yàn)槭恰昂诤小焙芏嗳擞昧艘欢螘r(shí)間還是搞不清里面到底發(fā)生了什么。比如RandomCrop在Resize之后和Resize在RandomCrop之后結(jié)果完全不同這個(gè)順序問題很多人第一次都會(huì)踩。我后文會(huì)單獨(dú)展開。1.3 跑示例前先把環(huán)境準(zhǔn)備好如果你是第一次跑代碼建議用Pytorch官方推薦的組合Python 3.8及以上搭配較新的Pytorch穩(wěn)定版torchvision版本盡量和Pytorch大版本對(duì)齊否則可能遇到torchvision.transforms里某些接口不存在、或者導(dǎo)入失敗的問題。pip install torch torchvision如果是用Anacondaconda install pytorch torchvision -c pytorch理論上這期內(nèi)容只需要CPU就能跑不需要先配好CUDA。你只要能把import torch、import torchvision執(zhí)行成功就行。代碼里我會(huì)用一張本地圖片做演示如果沒有圖片用PIL隨機(jī)生成一張純色圖也完全可以驗(yàn)證流程。2. Resize統(tǒng)一圖片尺寸是模型輸入的第一道關(guān)卡2.1 Resize到底做了什么transforms.Resize做的事情很簡單把輸入的PIL圖像或Tensor縮放到指定大小。默認(rèn)使用雙線性插值。它的接口長這樣transforms.Resize(size, interpolationtransforms.InterpolationMode.BILINEAR)size可以是一個(gè)整數(shù)也可以是一個(gè)(height, width)元組。如果傳的是整數(shù)比如Resize(128)Pytorch會(huì)按短邊縮放保持原圖寬高比不變讓短邊長度等于128長邊按比例縮放。如果傳的是元組比如Resize((128, 128))那就直接把圖像拉伸到128x128不保證寬高比。很多模型輸入需要固定尺寸例如224x224、256x256所以Resize((224, 224))是最常見的寫法。但如果你希望保留比例再配合裁剪來補(bǔ)足尺寸那就得把這兩個(gè)操作組合起來用。這里有個(gè)細(xì)節(jié)經(jīng)常被忽視Resize本身是有信息損失的??s小圖片會(huì)丟失高頻細(xì)節(jié)紋理、邊緣放大圖片會(huì)引入插值產(chǎn)生的模糊。所以“一次到位”直接Resize((224, 224))并不是所有場景的最佳選擇我后面會(huì)講一個(gè)更穩(wěn)妥的套路。2.2 Resize參數(shù)怎么選先看圖片的原始尺寸和模型輸入尺寸差異。如果原圖是2000x1500模型輸入是224x224直接一次性縮到224x224會(huì)讓很多小目標(biāo)細(xì)節(jié)直接消失。比較好的做法是分兩段先縮放到寬邊約256512再在后續(xù)操作進(jìn)一步調(diào)整。如果原圖和目標(biāo)尺寸差距不大一次性Resize(224)就夠了。再看插值方式。torchvision默認(rèn)的InterpolationMode.BILINEAR在大多數(shù)情況下都?jí)蛴?。如果縮小的比例很大可以考慮InterpolationMode.AREA它在縮小圖片時(shí)按區(qū)域平均像素能保留更多信息如果是放大圖片InterpolationMode.LANCZOS質(zhì)量更高但速度慢。實(shí)際項(xiàng)目里我見過不少老代碼直接用PIL.Image.BILINEAR也能跑只是API在不同版本間有點(diǎn)混亂。關(guān)于目標(biāo)尺寸還有一個(gè)常見選擇“不讓長邊超過上限”。比如模型輸入可以是任意尺寸但顯存有限就把長邊限制在512或640短邊等比縮放。這時(shí)你的Resize只是預(yù)處理的第一步后面模型內(nèi)部可能還有自適應(yīng)池化之類的機(jī)制。這種情況下只傳一個(gè)整數(shù)會(huì)更合適。2.3 實(shí)際項(xiàng)目里Resize常用的組合套路我自己在圖像分類項(xiàng)目里最常用的一套組合是先Resize(256)再RandomCrop(224)。這里的思路是先用雙線性插值把圖片縮放到一個(gè)比最終輸入稍微大一點(diǎn)的尺寸然后通過隨機(jī)裁剪切出224x224區(qū)域。這樣既能保證輸入尺寸統(tǒng)一又相當(dāng)于做了一次隨機(jī)縮放給訓(xùn)練過程增加了一點(diǎn)尺度變化。如果圖片很小比如原始圖只有100x100目標(biāo)尺寸224x224那直接Resize(224)會(huì)把圖片放得很模糊沒有足夠多的細(xì)節(jié)。這時(shí)候需要優(yōu)先考慮數(shù)據(jù)本身的清晰度而不是盲目追求模型的輸入尺寸。遇到這種情況我更建議先檢查一下數(shù)據(jù)分布了解圖片的真實(shí)尺寸范圍再?zèng)Q定處理策略。還有一個(gè)很容易被忽略的點(diǎn)Resize默認(rèn)接受PIL圖像不接受numpy數(shù)組。如果你從cv2.imread讀進(jìn)來的圖片是numpy格式要先用Image.fromarray轉(zhuǎn)成PIL或者單獨(dú)使用其他支持Tensor的變換方式。這里不處理好后面一進(jìn)transforms.Compose就會(huì)報(bào)類型錯(cuò)誤。3. RandomCrop數(shù)據(jù)增強(qiáng)的“性價(jià)比”之王3.1 RandomCrop做什么transforms.RandomCrop(size)的效果是在輸入圖片上隨機(jī)選取一個(gè)位置裁剪出一塊指定大小的區(qū)域。它和CenterCrop的區(qū)別就是“隨機(jī)”二字——每次調(diào)用裁出來的位置可能都不一樣。transforms.RandomCrop(224) # 或 transforms.RandomCrop((224, 224)) # 還可以在裁剪的同時(shí)填充邊緣 transforms.RandomCrop(224, pad4)隨機(jī)裁剪為什么有用因?yàn)樗喈?dāng)于在訓(xùn)練時(shí)給模型提供了“同一張圖的不同視圖”同一只貓這次裁到的是貓臉下次裁到的是貓身子再下次裁到的是貓爪子。模型看到的是同一個(gè)對(duì)象在不同位置、不同上下文下的形態(tài)這會(huì)迫使模型學(xué)會(huì)“對(duì)象本身是什么”而不是死記“某個(gè)像素位置出現(xiàn)什么”。這是提升模型平移不變性最直接的手段之一。另一個(gè)層面RandomCrop也會(huì)間接帶來一些尺度變化。因?yàn)槟阆确糯髨D片再隨機(jī)裁剪等于每次裁到的區(qū)域?qū)?yīng)的原始范圍不一樣模型就會(huì)適應(yīng)目標(biāo)在不同尺度下出現(xiàn)的情況。這和“Multi-Scale Training”的思想是一致的。3.2 RandomCrop和CenterCrop怎么選訓(xùn)練集一般用RandomCrop驗(yàn)證集和測試集用CenterCrop。原因很簡單訓(xùn)練時(shí)我們希望數(shù)據(jù)越多樣越好但評(píng)估時(shí)又希望結(jié)果可復(fù)現(xiàn)、穩(wěn)定。如果驗(yàn)證集也用RandomCrop同一張圖在兩次評(píng)估中可能得到不同的裁剪結(jié)果模型輸出的指標(biāo)就會(huì)有波動(dòng)你很難判斷到底是誰在進(jìn)步。“驗(yàn)證集用CenterCrop”這個(gè)習(xí)慣要盡早養(yǎng)成。很多第一次做項(xiàng)目的朋友把訓(xùn)練和驗(yàn)證用同一個(gè)transform結(jié)果模型在訓(xùn)練集上acc很高、驗(yàn)證集上卻忽高忽低還以為過擬合了其實(shí)是驗(yàn)證時(shí)的隨機(jī)性在搗亂。另外還有個(gè)很常見的場景如果你的模型輸入是224x224但圖片本身非常不規(guī)則比如全景圖、長截圖RandomCrop容易裁到?jīng)]有內(nèi)容的背景區(qū)域?qū)е掠?xùn)練樣本質(zhì)量下降。這種情況下可以考慮先把長邊縮放到固定值再結(jié)合RandomResizedCrop去做尺度隨機(jī)的裁剪而不是單純用RandomCrop。3.3 ResizeRandomCrop的經(jīng)典組合前面提過我常用Resize(256) RandomCrop(224)。這里展開說下為什么這個(gè)組合比直接Resize(224)更靠譜。如果你直接把圖縮到224x224再做隨機(jī)裁剪就無從下手了——因?yàn)閳D已經(jīng)和目標(biāo)尺寸一樣大裁剪只會(huì)得到完全相同的圖。所以必須保證RandomCrop的輸入尺寸嚴(yán)格大于輸出尺寸隨機(jī)性才有意義。Resize(256)之后再裁224裁出來的窗口可以在16x16種位置變化訓(xùn)練樣本的多樣性馬上就上去了。組合時(shí)要注意順序。如果先RandomCrop(224)再Resize((224, 224))那么裁出來的區(qū)域大概率是低分辨率的局部放大模糊程度可能會(huì)影響訓(xùn)練。一般建議先放大到較大尺寸、再裁剪到最終尺寸。當(dāng)然也有例外如果原圖很大先裁剪再縮放反而能減少內(nèi)存占用這時(shí)候順序就要反過來。沒有絕對(duì)正確的順序需要根據(jù)你的數(shù)據(jù)尺寸、模型輸入、性能需求權(quán)衡。順便提一嘴torchvision里還有RandomResizedCrop它把“縮放”和“裁剪”合成了一個(gè)操作能隨機(jī)選取原圖上一個(gè)區(qū)域再把該區(qū)域縮放到指定尺寸。從效果上比Resize RandomCrop更接近尺度增強(qiáng)但可控性稍弱一點(diǎn)。兩者都可以用看你習(xí)慣哪種。4. Normalize用均值和方差把數(shù)據(jù)“校準(zhǔn)”到模型友好區(qū)間4.1 Normalize的數(shù)學(xué)原理transforms.Normalize(mean, std)在實(shí)際執(zhí)行時(shí)對(duì)每個(gè)通道做這樣的計(jì)算x_norm (x - mean) / std它期望的輸入是范圍[0, 1]的浮點(diǎn)Tensor通常來自transforms.ToTensor()。如果直接對(duì)PIL圖像做NormalizePIL圖像范圍是[0, 255]mean、std定義完全對(duì)不上結(jié)果會(huì)非常離譜。ToTensor做的事有兩件一是把PIL圖像或numpy數(shù)組轉(zhuǎn)成torch.FloatTensor二是把像素值從[0, 255]縮放到[0, 1]。也就是說在Normalize之前你的圖像數(shù)據(jù)已經(jīng)被轉(zhuǎn)換了一次“計(jì)量單位”。那為什么要再做一次Normalize因?yàn)閇0, 1]范圍雖然比[0, 255]好用但不同圖片的亮度、對(duì)比度差異還是很大。有的圖平均亮度0.9有的圖平均亮度0.3喂給模型后模型看到的輸入特征分布不穩(wěn)定梯度更新的方向就容易波動(dòng)。Normalize的目的就是讓每個(gè)通道的像素分布接近“均值0、方差1”的標(biāo)準(zhǔn)正態(tài)分布也就是給數(shù)據(jù)做一次“標(biāo)準(zhǔn)化”讓不同樣本的數(shù)值尺度保持一致。4.2 mean和std從哪里來很多人第一次看示例代碼都會(huì)困惑mean[0.485, 0.456, 0.406]這幾個(gè)數(shù)哪來的這是ImageNet數(shù)據(jù)集的統(tǒng)計(jì)結(jié)果。ImageNet作為目前最常用的圖像預(yù)訓(xùn)練數(shù)據(jù)集之一它的RGB三通道均值和標(biāo)準(zhǔn)差被廣泛復(fù)用。你在很多預(yù)訓(xùn)練模型的代碼里都會(huì)看到這三個(gè)數(shù)字。如果自己的數(shù)據(jù)集和ImageNet差異不大比如自然圖像分類任務(wù)直接用ImageNet的mean/std是常規(guī)操作。這樣做還有個(gè)額外的好處加載ImageNet預(yù)訓(xùn)練權(quán)重時(shí)輸入數(shù)據(jù)的分布和預(yù)訓(xùn)練時(shí)的分布保持一致模型微調(diào)更容易收斂。如果你的數(shù)據(jù)集很特殊比如醫(yī)學(xué)影像、紅外圖像那最好自己統(tǒng)計(jì)。統(tǒng)計(jì)方法很簡單把訓(xùn)練集所有圖片轉(zhuǎn)成Tensor在所有樣本上計(jì)算每個(gè)通道的均值和標(biāo)準(zhǔn)差。這里有個(gè)細(xì)節(jié)統(tǒng)計(jì)時(shí)像素范圍一定是[0, 1]不是[0, 255]否則算出來的mean和std會(huì)大得離譜。另一個(gè)細(xì)節(jié)是通道順序PIL加載的RGB圖片在ToTensor后是(C, H, W)你要算的是每個(gè)通道自己的均值和方差不要搞混了。4.3 Normalize的常見坑第一個(gè)坑直接用numpy手算RGB均值時(shí)忘了把像素范圍除以255。你如果統(tǒng)計(jì)出來的均值是[123, 116, 103]這種說明你算的是[0, 255]范圍而Normalize期望的是[0, 1]范圍的mean。正確的統(tǒng)計(jì)應(yīng)該在ToTensor之后進(jìn)行或者手動(dòng)把統(tǒng)計(jì)結(jié)果除以255。第二個(gè)坑把Normalize放在ToTensor之前。我看到很多新手代碼寫成Compose([Normalize(...), ToTensor()])結(jié)果不是報(bào)錯(cuò)就是數(shù)值完全不對(duì)。Normalize不認(rèn)識(shí)PIL圖像也不會(huì)自動(dòng)幫你轉(zhuǎn)格式必須先ToTensor再Normalize順序不要記反。第三個(gè)坑可視化時(shí)忘記“反歸一化”。訓(xùn)練途中你想把輸入圖片打印出來看看如果直接打印Normalize之后的圖會(huì)發(fā)現(xiàn)顏色很奇怪像是加了濾鏡一樣。這是因?yàn)閿?shù)據(jù)分布被改變了。要想看原始圖需要先乘std再加mean再乘255或者把像素值截?cái)嗟絒0, 1]再顯示。第四坑有時(shí)候你只對(duì)RGB三個(gè)通道中的某些通道做Normalize比如灰度圖只有一個(gè)通道。這時(shí)候應(yīng)該傳一維的mean/std不要照抄三通道的值。5. 跑一個(gè)完整示例三操作串聯(lián)的實(shí)操演示5.1 第一個(gè)示例單張圖片的變化過程我先演示一個(gè)基礎(chǔ)示例用一張本地的cat.jpg圖片依次經(jīng)過Resize RandomCrop ToTensor Normalize觀察輸出結(jié)果。import torch from PIL import Image from torchvision import transforms # 定義預(yù)處理流水線 transform transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) # 讀取圖片 img Image.open(cat.jpg).convert(RGB) print(原始尺寸:, img.size) # 應(yīng)用預(yù)處理 out transform(img) print(變換后shape:, tuple(out.shape)) # 應(yīng)該是 (3, 224, 224) # 統(tǒng)計(jì)每個(gè)通道的均值和方差肉眼觀察是否接近0和1 for i, name in enumerate([R, G, B]): print(f{name}通道均值: {out[i].mean():.4f})運(yùn)行結(jié)果大概長這樣原始尺寸: (640, 480) 變換后shape: (3, 224, 224) R通道均值: 0.4821 G通道均值: 0.4503 B通道均值: 0.4082可以看到輸出shape固定在了(3, 224, 224)。每次運(yùn)行這段代碼由于RandomCrop是隨機(jī)的out的內(nèi)容都會(huì)不同但你打印出來的三個(gè)通道均值會(huì)比較穩(wěn)定。如果哪一次輸出的均值偏差特別大通常是因?yàn)椴眉舻搅艘淮笃毡尘皩?dǎo)致顏色分布變化這屬于正常現(xiàn)象也是隨機(jī)裁剪的“副作用”。這里還可以做一個(gè)操作把RandomCrop(224)換成CenterCrop(224)再跑一遍對(duì)比兩次輸出你就會(huì)直觀感受到“隨機(jī)裁剪”帶來的變化到底有多大。5.2 第二個(gè)示例在Dataset里應(yīng)用并使用DataLoader加載實(shí)際項(xiàng)目里transforms.Compose很少單獨(dú)作用于一張圖片而是放在自定義Dataset里。這里寫一個(gè)簡化版例子展示訓(xùn)練集和驗(yàn)證集如何使用不同的預(yù)處理流水線import os import torch from PIL import Image from torch.utils.data import Dataset, DataLoader from torchvision import transforms class ImageFolderDataset(Dataset): def __init__(self, file_list, transformNone): self.file_list file_list self.transform transform def __len__(self): return len(self.file_list) def __getitem__(self, idx): img Image.open(self.file_list[idx]).convert(RGB) if self.transform: img self.transform(img) return img train_files [cat.jpg, dog.jpg, bird.jpg] # 實(shí)際項(xiàng)目里換成你的圖片路徑 val_files [cat2.jpg, dog2.jpg] train_transform transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.RandomHorizontalFlip(), 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]) ]) train_dataset ImageFolderDataset(train_files, transformtrain_transform) val_dataset ImageFolderDataset(val_files, transformval_transform) train_loader DataLoader(train_dataset, batch_size2, shuffleTrue) val_loader DataLoader(val_dataset, batch_size2, shuffleFalse) for batch in train_loader: print(訓(xùn)練batch shape:, batch.shape) break注意這里我在訓(xùn)練里加了RandomHorizontalFlip它和RandomCrop一樣都是不改變內(nèi)容語義的數(shù)據(jù)增強(qiáng)方式。驗(yàn)證集里沒有加目的是保證評(píng)估結(jié)果穩(wěn)定。如果是一開始就想快速跑通最簡單的做法是先不寫Dataset只對(duì)一個(gè)圖片調(diào)用transform確認(rèn)輸出shape符合預(yù)期再接進(jìn)DataLoader。這樣做的好處是如果出了bug你能快速判斷問題出在預(yù)處理還是數(shù)據(jù)加載環(huán)節(jié)。5.3 示例運(yùn)行效果和驗(yàn)證方法跑完上面的代碼你應(yīng)該能看到類似下面的輸出訓(xùn)練batch shape: torch.Size([2, 3, 224, 224])如果batch_size2每個(gè)樣本shape是(3, 224, 224)所以整個(gè)batch是(2, 3, 224, 224)。這說明你的數(shù)據(jù)流水線已經(jīng)通了每一張圖都經(jīng)過了Resize、RandomCrop、ToTensor和Normalize并且被正確堆疊成一個(gè)batch。我還會(huì)習(xí)慣檢查一下normalize是否真的生效。最簡單的方法是直接比較Normalize前后的輸出transform_no_norm transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.ToTensor() ]) transform_with_norm transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) img Image.open(cat.jpg).convert(RGB) a transform_no_norm(img) b transform_with_norm(img) print(歸一化前像素范圍:, a.min().item(), a.max().item()) print(歸一化后像素范圍:, b.min().item(), b.max().item())歸一化前a的像素范圍應(yīng)該在[0, 1]之間歸一化后b的范圍通常會(huì)超出這個(gè)區(qū)間可能出現(xiàn)負(fù)值這才是Normalize生效的正常表現(xiàn)。6. 常見問題速查與我的幾條實(shí)操心得6.1 高頻報(bào)錯(cuò)和排查建議很多報(bào)錯(cuò)其實(shí)就集中在幾個(gè)固定點(diǎn)上。我把平時(shí)帶人和自己踩過的高頻問題整理出來報(bào)錯(cuò)信息原因解決方案size of the cropped area must be smaller than the imageRandomCrop的尺寸大于圖片當(dāng)前尺寸在RandomCrop之前先Resize到更大的尺寸Input type (PIL.Image.Image) is not supported對(duì)一個(gè)PIL圖像直接調(diào)用了Normalize把ToTensor放在Normalize前面Expected tensor with shape (C, H, W)輸入了(H, W, C)格式的numpy數(shù)組先用ToTensor()轉(zhuǎn)換或調(diào)整數(shù)據(jù)維度圖像顯示偏色/慘白Normalize之后未做反歸一化直接可視化用std * x mean還原再乘255訓(xùn)練集acc高、驗(yàn)證集acc不穩(wěn)定驗(yàn)證集也用了RandomCrop驗(yàn)證集改用CenterCrop或不裁剪mean和std填錯(cuò)了直接用了[0, 255]范圍統(tǒng)計(jì)結(jié)果ensure統(tǒng)計(jì)基于0-1范圍前三個(gè)報(bào)錯(cuò)是零基礎(chǔ)同學(xué)最常遇到的。尤其是第二個(gè)幾乎每周都有人來問。記住一句話RandomCrop和Resize可以處理PIL圖像ToTensor負(fù)責(zé)把PIL圖像變成TensorNormalize只能在Tensor上操作。順序別搞反。6.2 我建議的“預(yù)處理三板斧”配置公開數(shù)據(jù)集、自然圖像分類、常規(guī)CNN模型我推薦的基礎(chǔ)配置是train_transform transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.RandomHorizontalFlip(), 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]) ])這套配置在大多數(shù)任務(wù)上都能直接跑出不錯(cuò)的效果而且不容易出錯(cuò)。簡單解釋一下為什么Resize(256)RandomCrop(224)給訓(xùn)練集提供隨機(jī)位置裁剪RandomHorizontalFlip增加了水平翻轉(zhuǎn)的數(shù)據(jù)增強(qiáng)CenterCrop(224)保證驗(yàn)證集穩(wěn)定可復(fù)現(xiàn)Normalize用ImageNet統(tǒng)計(jì)值把數(shù)據(jù)分布統(tǒng)一。四個(gè)操作互相配合覆蓋了尺寸控制、數(shù)據(jù)增強(qiáng)、數(shù)值標(biāo)準(zhǔn)化三個(gè)層面。如果你的數(shù)據(jù)集本身圖片很大或者訓(xùn)練樣本很多我偶爾會(huì)把Resize(256)改成訓(xùn)練時(shí)RandomResizedCrop(224)驗(yàn)證時(shí)Resize(256) CenterCrop(224)。但這是進(jìn)階操作新手先用最大化兼容性的方案即可。6.3 一些容易被忽略的細(xì)節(jié)第一歸一化的均值方差不是隨便填的。如果你用的是Pytorch自帶的預(yù)訓(xùn)練模型模型在ImageNet上訓(xùn)練時(shí)的預(yù)處理就是Normalize(mean[0.485,...])所以加載預(yù)訓(xùn)練權(quán)重時(shí)也要用同一套參數(shù)這個(gè)坑不排查清楚微調(diào)效果會(huì)明顯變差。第二代碼里盡量用一個(gè)get_transform(trainTrue/False)返回不同流水線不要訓(xùn)練和驗(yàn)證各自寫一遍容易抄錯(cuò)。用函數(shù)封裝的好處是以后想加ColorJitter、RandomRotation這些增強(qiáng)只需要改一處驗(yàn)證集的穩(wěn)定性不會(huì)被動(dòng)到。第三檢查流水線時(shí)打印shape只是第一步打印像素分布也很重要。我通常會(huì)在第一次跑通代碼后加一行print(batch.min(), batch.max(), batch.mean())。如果mean離0特別遠(yuǎn)說明normalize的參數(shù)和你的數(shù)據(jù)分布不匹配要重新考慮是否應(yīng)該自己統(tǒng)計(jì)均值方差。第四不要把Resize和RandomCrop的目標(biāo)尺寸搞混。RandomCrop的size必須是最終輸入sizeResize的size只是中間過渡沒必要也一樣。網(wǎng)上有些代碼喜歡Resize(224)RandomCrop(224)這樣看起來沒報(bào)錯(cuò)但實(shí)際上隨機(jī)裁剪沒有任何意義——輸入尺寸已經(jīng)等于輸出尺寸裁出來的永遠(yuǎn)是同一張圖。我自己用的時(shí)候尺寸差個(gè)32或64訓(xùn)練效果會(huì)有可感知的提升。最后再分享一個(gè)個(gè)人經(jīng)驗(yàn)調(diào)試預(yù)處理時(shí)盡量先用1-2張圖片單獨(dú)跑確認(rèn)尺寸、數(shù)值范圍都符合預(yù)期后再丟進(jìn)DataLoader。因?yàn)镈ataLoader的多進(jìn)程加載會(huì)把報(bào)錯(cuò)信息夾雜在訓(xùn)練日志里新手很容易被帶偏。先在小樣本上確認(rèn)流水線正確再全量跑訓(xùn)練這個(gè)習(xí)慣能幫你省下大量排查時(shí)間。整個(gè)預(yù)處理流程說白了就是“按順序、看形狀、看分布”把這三件事做到位Resize、RandomCrop、Normalize這關(guān)就算真正過了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
《诡秘之主》在线观看| 99爱在线| 激情丁香五月天| 丁香婷婷五月综合| 成人.在线日韩| 开心五月丁香婷婷| 成人五月天在线观看| 欧美性生交XXXXX无码小说| 天天cha成人综合网| 欧美日韩国产一区| 伊人大香久久| 内射在线CHINESE| 玖玖资源站中文| 色婷婷五月综合在线| 能直接看的av网站| 丁香五月成人婷婷| 俺去啦综合网| 久久九九免费大视频| 日韩AV在线电影| 99热精品在线播放| 91色噜噜狠狠狠狠色综合| 99成人精品六| 丁香五月自拍| 亚洲av网站| 91九色 熟| 伊人网碰碰| 好好干av| 天天人人综合| 九九色色网| 色欲久久99精品久久久久久| aV直接看| 色婷婷小说| 79色色| 超碰99资源站| 日本99在线| 激情综合五月丁香六月婷婷| 日韩二区搞逼插逼毛片| 免费无码毛片一区二区A片| 天天日本夜夜谢| 天天色综合色| 色播五月丁香综合| 玖玖福利视频资源| 五月天激情网页| 人妻射精AV| 91xxxx九色| 99精品偷自拍| 免费91久久精品| 丁香五月影院| 亚洲成人AV高清字幕| 五月天婷婷激情在线色图| 五月天狠狠网| 婷婷月综合| www.狠狠艹| 囯产精品一品二区三区| 色五月首页| 色国产五月| 99色色爰| 开心久久爱五月天| 天天干天天叉| 五月婷婷六月天| www.99热这里精品| 97干免费视频| 五月丁香久久| 丁香五月婷婷激情97| 97色碰| 亚洲无码11| 五月天涩涩| 久久思思热视频| 思思热性操 | 久久您您综合网| 激情丁香五月婷婷| 男人的天堂婷婷色五月| 婷婷综合偷拍| 99啪啪网| 色噜噜夜夜夜综合网| 亚洲久艹| 五月亭亭色| www.cao.com久久| 国产婷婷婷| 激情99| 欧美熟女99| 婷婷 色 丁香 夜| 婷婷丁香五月天中文字幕| 欧美天天综合网站上去吧| 99色综合| 日日干综合| 欧美激情xxxXX| 五月丁香色婷婷伊人| 婷婷五月丁香av网站| 天天情天天狠天天透| 久久婷婷五月综合97色一本| 婷婷开心激情综合五月天| caopeng97日韩| 丁香五月婷婷动漫视频| 亚洲狠狠干| 天天精品视频免费观看| 开心五月激情网| 99色| 91呦呦呦| 久久九九99桃花视频| 五月丁香激情综合啪啪| 超碰在线超碰| 亚洲婷婷丁香五月天激情小说| 我要色综合五月婷婷| 五月婷色啪| 欧美VA在线| 狠狠综合网| 91色久| 色婷婷影音| 这里只有精品偷拍| 丁香五月天成人| 五月天亭亭俺也| 日韩另类在线观看| 伊久大香蕉| 天天操天天曰| 99re6在线视频精品免费| 夜夜撸夜夜骑| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 九九人人操| 国外亚洲成AV人片在线观看| 色播播婷婷| 色玖玖| 免费成人va| 激情五月com| 99无码精品| 婷婷五月天丁香花| 九月色婷婷综合| 啊V视频在线观看| 伊人综合网4| 九九热精品99| 欧美123区免| 99色区| 五月丁香激情欧洲啪啪| 国产精品人成A片一区二区| www.ywav| 天天爽在线视频| 婷婷丁香人妻久久在线观看| 五月丁香在线观看| 五月丁香综合啪啪| 五月丁香六月激情| 久久3级片| 婷婷色在线观看| 婷婷天堂伊人| 丁香六月婷婷综合色| 一本色道久久综合狠狠躁小说| 五月丁香影视| 五月激情婷婷图片基地| www.yw尤物| 任你干aa| 99色1| 色色五月天丁香| 久久这里只有精品网| 91日本在线观看| 九九精品免费视频99| 婷婷色五月激情| 天天综合网亚洲网站| 超碰av在线| 99在线免费视频| 夜夜综合色| 亚洲乱码日产精品BD| 久久9久| 亚洲va欧美va国产综合久久久| www.99热这里只有精品| www.婷婷| 五月天啪啪啪| 丁香五月AV综合| 婷婷丁香激情综合色情| 粉嫩av懂色av蜜臀av熟妇| 婷婷深爱五月| 大香蕉婷婷五月| 狠狠色婷婷丁香五月| 五月天婷婷在线啪啪视频| 99热最新| 婷婷五月丁香色播| 五月婷婷六月天| 欧美久久久久久久久中文字幕| 久久精品小视频| 搡BBBB搡BBB搡18| 丁香六月婷婷综合色| 五月天婷婷网站888| 操婷婷久久| 色色综合视频| 亚洲99在线| 超碰99热在线观看| 超碰av在线| AV在线观看网站| 久久狼人天堂| 天天激情视频| 91九色PORNY中文啦| 大地资源色婷婷视频在线| 精品久久久久成人码免费动漫| 久热这里有精品视频| 欧美色五月| 1024人妻| 久久九九99| www色婷婷久久综合久色| 天天弄天天操| 五月天狠狠干| 日本99在线| 婷婷久久色| 天天激情综合| 五月婷婷亚洲色图| 182TV大香蕉| 激情综合在线观看| 超碰人妻公开在线| 91婷色| 日本色久| 国产亚洲在线观看| 色色性爱视频| 色五月天综合| www.射伊蕉婷婷| 色婷婷五月在线| 色情·com| 久9热视频在线| 天天成人综合视频| 大香蕉九九| 五月婷婷五月天| 色综合久久天天综合网| 91偷拍视频| 狠狠综合| 人人摸人人搞| 精品网站99| 亚洲综合色成丁香五月色| 婷婷丁香五月色| 玖玖爱综合网| 大香蕉视频99| 99色在线视频| 婷婷五月激情欧美| 丁香五月电影| 天天摸日日舔狠狠添婷婷婷 | 精品色色| 99网| 色亚洲视频| 九九色插| 五月花婷婷| 亚洲色情在线| 婷婷亚洲五| 丁香婷婷五月人体| 日韩av在线播放综合网| 五月婷婷综合网| www.夜夜操.com| 久久亚洲色导航| 午夜丁香六月婷| 最近中文字幕大全免费版在线| 色色色色网| 国内婷婷丁香社区在线播放| www.色综合| 丁香五月停停av| 丁香六月在线| 97香蕉久久超级碰碰高清版| 五月丁香成人小说| 久久人人妻| 天天拍久久| 噜一噜免费视频| 色婷婷色综合激情91| 97在线观视频免费观看| 成人精品一区日本无码网 | 丁香六月婷婷综合| 九九视频在线观看| 五月婷婷色| 99re鈥哸鈥唙| 五月丁香六月婷婷在线| 色五月第四色| 五月婷婷在线播放| 色无码| 538久久| 在线观看欧美| 六月丁香综合| 日韩成人网址| 97欧美在线| 99久久久久久久| 久久九九激情五月天| 色婷婷小说| 99热99在线| 六月丁香啪啪啪| 日日日日操| 欧美激情综合色综合色| jiZZdr| 99这里是精品| 骚。com| 五月丁香啪啪激情| 色婷婷a三区麻| 伊人丁香花综合影院| 五月丁香久久久日婷婷久久婷婷日| 婷婷五月天成人在线视频| 丁香五月自拍| 开心久久五月天| 第四色婷婷日本| 婷婷五月丁香综合亚洲| 九九九成人在线视频| 天天操天天操| 欧美啄木乌丝袜人妻系列| 成人超碰Av| 婷婷五月情天| 久久性爱视频| 五月天丁香| 日本人妻伦在线中文字幕| 办公室少妇激情呻吟A片在线观看| 丁香六月婷婷综合| 狠狠干综合| 四川BBB搡BBB搡多人乱亂| 性生生活大片又黄又| 色色色五月天婷婷| 五月天婷婷爱| 婷婷在线操| 久久婷婷五月综合色播| 五月丁香婷婷网在线在线| 操逼三区| 婷婷五月天影院| 五月天激情婷婷| 色五月婷婷777| 亚洲婷婷综合视频| 丁香五月激情天AV无码| 九九视频这里有精品| 夜夜干天天操| 国外亚洲成AV人片在线观看| 九九综合图片网| 九九九九国产| 嫩BBB槡BBBB搡BBBB视频| 狠狠干无码| 熟女网站久久| 国产美女无遮挡裸体毛片A片| 91干在线视频| 激情文学天天| 天天草天天爽| 天天干天天色综合| 国产永久一黄| 天天干天天操天天上| 五月婷婷人妻| 色色热| 久久人妻超碰一区| 色五月丁香五月| 五月天玖玖狠狠色色| 99热这里只有精品中文字幕| 性无码专区无码| 六月婷在线| 五月天狠狠网站| 综合色色色色色色| 中日韩美欧成人一区二区精品在线| 99ri在线播放| 激情五月天www| 午夜婷婷| 免费在线a| 快乐激情五月色婷婷| 色五狠狠| www九九热| sewuyuetingtingiii| 深爱激情九九五月天 | 色婷婷9| 涩综合在线 | 五月丁香婷草| A1片久久| 久久人妻系列| 婷婷大香蕉| 九热视频精品| 色色色色av色色色色| 日产精品久久久久久久蜜臀| 99精品久久| 99热精品在线播放| 激情小说色五月| 99久久久99久久91熟女| 色色色色综合网| 91传媒无码人妻精| 色五月婷婷五月天激情综合| 中文不卡av| 2025中文在线视频字幕免费观看| 亚洲va成人va成人va在线观看| WWW·色色色·COM| 久99久99精品免| 丁香操逼| 操一操| 婷婷亚洲综合| 91操碰| 色五月在线播放| 五月天激情美女久久| 天天日夜夜B久久| 五月婷婷激情| 97人人草| 婷婷97| 亚洲xx网| 91九色中文| 六月丁香婷婷色狠狠久久| 激情五月婷婷五月| 九九综合网色全集 | 第四色激情网| 人妻性操逼中文字幕 国产| 五月丁香色婷婷| www.激情五月天.com| 五月婷婷视频28| 国产人妻777人伦精品HD| 五月天五月色婷婷综合| 精品一二三区久久AAA片| www久久五月com| 九九热视频在线观看| 成人丁香五月| 天天日夜夜| www色婷婷久久综合久色 | 婷婷五月情| 久热久色| 色色色综合网| 五月婷婷激情四月| 超碰男人色| 五月停停色色丁香| 99热这里只有精品国产免费| 无码少妇高潮喷水A片免费| 欧美六月| 五月激情六月综合| 免费看成人747474九号视频在线观看| 在线色色| 99色这里| 久久精品国产AV一区二区三区 | se影音资源在线观看| 99热九九在线| 狠狠色综合网| 无码区婷婷五月花开| 九色七七| 99色婷婷| 99热久草| 991国产精选视频在线播放下载| 天天插天天插天天插天天插| 99免费视频网| 思思精品视频| 国产色99| 色色丁香五月| EEUSS鲁片一区二区三区| 天天爽天天做| 久久久人妻不卡| 中文字幕丰满孑伦无码专区| 婷婷五月天视频亚洲| 丁香色色网| 国产毛片精品一区二区色欲黄A片| 婷婷五月丁香伊人网| 激情宗合 激情宗合| 五月成人网站| 婷婷色在线播放| 天天 青草 制服丝袜 在线| 九九精品9| 日韩成人网址| 狠狠操综合| 日韩人妻无码一区二区| 婷婷五月色综合| 日本熟妇乱妇熟色A片蜜桃| 五月天亚洲综合网| a色色色色色| 久久精品天| 婷婷啪啪| 情色五月天网站| 噜噜噜精品欧美成人在线观看| 色色五月天婷婷丁香| 少妇出轨做爰高潮A片| 九九 激情 网| 丁香成人视频| 色五月婷婷大| 天天狠狠插| 久色激情| 黄色网址五月婷婷| 粉嫩AV久久一区二区三区| www,com,五月色色| 99久在线精品99re8热| 丁香5月啪啪| 国产在线黄色| 开心五月婷婷婷美女| 九月丁香八月婷婷加勒比| 亚洲操操操| 五月婷婷成人| 成人丁香五月天Av| 99热这里只有精| 婷婷五月天性| 蜜乳A√| 国产中文字幕在线视频免费观看| 玖玖资源在线视频| 天天谢天天操| 9这里只有精品| 色六月天天激情综合网| 色婷婷成人| 激情五月综合久久| 婷婷色在线播放| 婷婷五月成人社区| 97人人干视频| 国产免费性爱| WW婷婷五月天com| 99色视频| 开心激情五月天网| 激情丁香婷婷| 97人人草| 97五月天| 专区无日本视频高清8| 99ri精品| 亚洲中文字幕网| 色色a| 99re免费精品视频| 欧美黄色AA片哗啦啦啦| 日日干天天| 性综合网| 久久性视频| 日本色道视频网站| 色五月激情五月开心五月| 99亚州综合精品成人网| 激情婷婷五月天| 天天操天天插| 91av传媒高清在线视频网| 九九视频精品这里只有| 五月婷婷深深爱爱| 99色在线观看| 丁香婷婷六月男男| 99操视频| 久久亚洲婷婷| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品| 欧美日韩成卜| 99视频91| 狠狠色丁香| 99热 在线观看| 五月天性色| 天天天天色天天天天天干| 五月天六月色| 五月亭亭开心网| 大战熟女丰满人妻AV| 在线观看日韩12345区| 丁香五月天激情四射网络不好 | 婷婷五月天社区| 大香蕉啪啪| 激情网五月天| 9色天堂| 97伊人综合婷婷| 91热在线| 国产高清RV综合aVa| 日本色色色| 久热人妻| 嫩草AV久久伊人妇女超级A| 亚洲视频另类| 丁香九月综合| 天天婷婷综合亚洲亚洲| 色婷婷电影网| 综合色五月天| 色噜噜狠狠狠综合曰曰曰| 91精品久久久久久久久| 做爰丰满少妇1313| 色色爽爽天天| 很很干夜夜干| 99热在线观看| 亚洲精品国产setv| 99热在线成人网站| 99精品在线观看| 日韩精品一区二区刘| 丁香五月天偷拍| 免费不卡狠操美女视频网 | 久久五月丁香| 一区二区三区四区牛| 丁香六月欧美| av电影在线播放| 五月天国产成人| 婷婷性色| 天天干,夜夜爽| 中文字幕性爱视频| 欧美婷婷五月天综合| 色婷婷狠狠18禁| 天堂久热| 五月婷六月综合在线观看| 色五月天电影| 日本啪啪视频HD| 久热欧美| 丁香五月天资源网| 激情丁香久久| 天天橾夜夜爽| 韩国中文字幕91| 九九热这里只有精品5| 开心婷婷丁香五月| 亚洲av另类在线观看| 人人操Av| 久久久激情视频| 综合久久综合综合| 婷婷五月天综合小说网| 国产成人AV不卡| 丁香五月激情天AV无码| 人妻内射视频| 婷激情五月天视频导航| 五月丁香婷婷色| 色五月自偷自拍婷婷婷婷| 人人噜天天上| 91人人妻人人操人人爽| 99re在线这里只有精品视频首页| 香蕉久日夜| 99热久久最新地址| 亚洲天堂婷婷丁香| 激情五月com| 午夜天堂一区人妻| 久月丁香爱婷婷综合| 丁香婷婷激情| 99精品视频在线观看| 中文字幕AV在线| 久久综合丁香| 91色色色| 婷婷99狠狠| 色婷网| 色玖玖导航| 97碰成超视频免费视频| 操逼三区| 97婷婷丁香| 九九热99免费视频| 丁香六月啪啪| 91丁香综合| 五月婷婷五月天亚洲无码| 五月婷婷av在线| 99热这里只有免费精品| 色九月国产| 五月婷婷色综图片| 日韩欧美一区二区三区四区| 亚洲妇女熟BBW| 日本激情五月| 嫩草视频观看| 99热这里只有精品2| 久久看婷婷| 综合五月婷婷| 久久机热思思热| 去色色五月天| 在线中文字幕av| 激情五月图| 少妇出轨做爰高潮A片| 丁香激情综合| 亚洲成人AV在线观看| 丁香婷婷激情| 五月婷婷自拍视频| 婷婷射综合| 五月天激情小说| 日日爱678| 日日噜噜夜夜狠狠久久丁香五月| 婷婷爱五月天| 五月天久久综合| 99精品偷自拍| 99爱视频| 思思热天天看| 大香蕉丁香五月| 综合久久综合久久| 五月婷婷激情中心| AV在线资源| 婷婷狠狠干| 9久久久久久久久久久| 色色综合日韩| 欧美 日韩 成人| 91久久99久久91熟女精品| 欧美成人一区二区三区在线视频| 日本高清综合网五月丁香| 五月丁香六月婷综合成人综合| 日本人妻伦在线中文字幕| 66色在线日韩| 亚洲麻豆乱码国产2028| 97精品综合久久| 99婷五月| 玖玖婷婷综合| 天天做天天爱天天玩夜夜爽 | 欧美性生交XXXXX无码小说 | 国产成人精品123区免费视频| 中文av网| www.狠狠干| www.91.com黄| 97超喷视频在线观看| 综合色色网| 女人天堂AV| 五月天婷婷青青草| 欧美色六月婷婷| 亚洲操精品| 亚洲国产黄色电影| 欧美内射AAAAAAXXXXX| 丁香五月色色| 五月天婷婷成人网| 天天爽夜夜爽天天爽夜夜爽| 天天日夜夜B久久| 91狠狠色色丁香婷婷综合久久| 婷婷视频在线碰| 老司机日日夜夜青草| 操你av| 六月丁香花婷婷| 成人网站av免费网站推荐| 色五月婷婷7777| 亚洲AV免费在线| 丁香婷婷性爱| 色欲五月婷婷| 五月天婷婷小说| 五月婷婷亞洲中文| 婷婷激情六月天视频| 婷婷六月插屄激情| 五月伊人网| 中文字幕AV在线播放| 国产激情在线| 99亚洲精品视频| 久久人视频| 九月婷婷人人操人人舔人人爱| 大战熟女丰满人妻AV| 91狠狠综合久久| 色色a| 97香蕉久久超级碰碰高清版 | 欧美精品999| 99黄色在线视频精品熟女| 99热国内精品| 婷婷色婷婷亚洲成人| 成人国产综合| 九九色中文| 26UUU| 在线成人网站| 亚洲AV免费在线| 五月婷在线| 色,激情五月天| 国产乱码久久| 天天拍夜夜爽日日| 亚洲综合99| 天天色天天日天天舔| 五月丁香婷婷爱| 久草五月婷婷| 六月丁香啪啪啪| 日本乱子人伦在线视频| 久久免费少妇高潮99精品| 色五月在线综合| 97男人天堂| yazhochengrenavwang| 91麻豆国产三级精品福利在线观看| 99ri网站在线观看| 99色久| 青青操丝袜美腿| 九九 激情 网| 五月天天天操天天爽夜夜操| 2025天天爽天天摸| 色色色色网站| 五月天天天色| 久久精品国产精品| 国内久久久精品99| 乱女乱妇熟女熟妇综合网站| 午夜电影网VA内射| 色婷婷超碰| 丁香五月天视频| 国产真实乱对白精彩| se婷97| 色五月婷婷1| 五月丁香六月婷婷综合在线| 99亚洲色| 九九热re99re6在线精品| 91大神操美女| 国产亚洲成AV人片在线观黄桃| 91在线人| 欧洲综合视频| 婷婷五月天激情小说网站| 五月天偷拍| 丁香婷婷啪啪| 另类丁香综合| 袁子仪视频观看| 天天cha成人综合网| 亚洲成人一区| 五月婷婷香蕉| 丁香五月婷婷啪啪啪| 精品成人无码A片观看香草视频| A色色| 99亚洲视频| 婷婷色色网站| 久久98| 99.色| www.91九色| 丁香婷婷五月色综合| 婷婷色网站| 色婷婷AV久久久久久久| 91日韩在线| 五月停停色| 五月综合精品| 二色av| 久久影视婷婷五月| 五月天激情婷婷小说| 99操逼| 97碰碰草| 99热激情| 亚州综合色| 99热这里只有精品33| 26uuu欧美日本| 99在线精品免费视频| 九九九色综合| 66成人网| 国产在线激情视频| 亚洲美女婷婷五月天| www.色综合.com| 99热欲| 亚洲综合新99视频| 五月丁香久久网| 成人AV网站在线| 操啊操av| 无码少妇高潮喷水A片免费| 精品久久9| 另类视频五月天| 婷婷五月天丁香久久| 婷婷丁香五月天在线| 熟女人妻一区二区三区免费看 | 91一起艹| 婷婷色五月天在线观看| 天天综合网~91| 玖玖九九99| 婷婷六月激情| 色婷婷久久| 久久东京热婷婷五月| 六月婷婷视频| 99热这里只有精品在线| Aα在线免费观看| 五月天啪啪| 9999热在线| www,av好吊操| 亚洲免费av观看| 26uuu国产| www狠狠com| 成人在线视频一区| 欧美日比视频| 久久婷婷网站| 色综合综合色| 99精在线| 热九九在线| 日本久久天堂| 激情小说五月天中文字幕| 亚洲精品V天堂中文字幕| 欧美激情丁香五月天久久婷婷一区| 婷婷六月色| 91艹人| 激情综合五月| 婷婷色色五月天| 99成人网站| 天天色综网| 久久免费婷婷视频| 4399在线观看免费高清黄色视频| 大香蕉天堂| 五月天婷婷基地| 玖玖婷婷五月天| 超碰精品手机在线| 亚洲自拍天堂| 91超级碰| 伊人大香五月天| 9色91视频| 思思 热 99| 欧美性猛交99久久久99| 亭亭五月色男人| 婷婷伊人中文字幕| 六月婷婷综合网2| 看久久性爱99视频| 人妻熟妇国产精品| 嫩草AV久久伊人妇女超级A| 国产26uuu视频| 91猫咪国产在线播放| 台湾无码A片一区二区| 欧美色色干| 无码日本精品XXXXXXXXX | 五区毛片七区毛片| 丁香五月天堂亚洲社区| 91色婷婷综合久久中文字幕二区| 99综合婷婷五月| 亚洲国产精品二二三三区| 五月天综合影院| 色婷五月天| 成人龟情网丁香五月| 五月婷婷在线观看黄| 久久激情网| 操精品9| 丁香五月中文字幕色播| 婷婷久久六月天| 91久久久久久久久久| 99综合网| 亚洲亚洲亚洲AAAAAA| 人人摸人人操人人爽| AV成人在线网站| 99精品自拍| 激情色色色| 无码一区二区日韩| 4399在线观看免费高清黄色视频| 另类视频一区| 婷婷性爱五月天| 性 色 婷婷| 久9无码视频| 久久丁香综合香蕉| 99精在线| 婷婷五月花西瓜| 免费国产VA国产免费| www.久久综合| 欧美天堂婷婷日韩| 精品久久99| 91久久精品无码一区二区三区| 久久婷婷五月丁香| 成人操呦av| 亚洲区在线| 嫩草AV久久伊人妇女超级A| 丁香九月综合| 老司机伊人| 天天操天天操综合| 丁香色色网| 人妻视频在线| 九九精品视频在线观看| 插插插色综合网| 久久ww| 99久久終合| 国产亚洲精品久久久久久久久动漫| 亚洲AV网址| 另类激情综合| 成人精品亚洲性爱| WWW.夜夜| 丁香婷婷五月天网站| 五月丁香久久网| 婷婷亚洲久久| 91碰九色| 人妻熟人中文字幕一区二区 | 激情爱爱网站超大免费| 99热只有精| 午夜丁香六月婷| 色色九九五月天| 婷婷久久免费| 婷婷六月色情| 看逼中文字幕| 青青草婷婷久久| 五月天啪啪网| 五月激情婷婷偷拍| 久久99免费视频| 色五月综合网站| 69凹凸成人综合网| 日本激情综合| 综合AV网| 亚洲国产精品VA在线看黑人| 夜夜躁爽日日| 久久视频这里有精品99| 91操碰| 97精品欧美91久久久久久久| 成人版视频在线观看| 超碰色综合| 毛片新网地| 天天干夜夜谢| 五月婷婷色| 99国产精品白浆在线观看免费| 色婷婷成人做爰A片免费看网站| 婷婷五月天av| 日本熟妇乱妇熟色A片蜜桃| 91丨九色丨43老版熟女| 九九热免费视频| 中文字幕一色哟哟哟哟| 婷婷丁香18| 夜色.cnm| 婷婷综合另类| 成人中文字幕在线| 热九九在线| 丁香六月色情| 五月婷婷视频28| 色综合色综合色综合色综合| 五月天成人免费视频| 激情综合国产| 狠狠五月天| 婷婷五月丁香激情| 亚洲成人中文字幕| 51成人| www。五月天激情| 人人色性网| 这里只有精品2| 激情久久久久久| 六月激情婷婷| 亚洲综合色激情色五月| 99超级碰碰| 久久婷五月天| 日韩十国产极品久久| 色婷婷精品视频| 性爱视频99| 亚洲精品无AMM毛片| 十二区无码| 激情视频网址| 婷婷五月伦理网站| 欧美在线视频99| 五月丁香六月片| www.99精品视频| 成人操呦av| 麻豆AV一区二区三区| 婷婷久久在线| 久久婷婷五月天| 热99re| 六月丁香五月天| 九热视频| 91热视频| 99在线资源| 日日射天天射| 大香蕉久久久| 狠狠婷婷色综合| 亚洲愉拍99热成人精品| 色五月第四色| 深爱激情五月网| 99九九热播在线免费视频| 成人片在线播放| 天天做天天爱天天玩夜夜爽 | 嫩草AV久久伊人妇女超级A| 99色| 免费99情趣网视频| 天天草天天爽| 久色精品| 久久总和99| 色性五月天| 免费无码毛片一区二区A片| 婷婷五月综激情| 天堂草在线观| 国产精品美女| 另类在线观看视频| 久8色色| 五月丁香亚洲综合| 色色五月激情| 色色网站免费观看| 亚洲成人免费电影| 在线超碰精品| 淫荡工a| 久久99网| 99ri视频在线观看| 九九热思思热| 久久这里有精品| 五月婷中文字幕| 激情五月色综合| 亚洲乱码日产精品BD| 狠狠爱综合| 99视频在线| 国产成人片| 激情精品久久| 婷香五月| 激情婷婷五月天丁香| 亭亭色天香| 色情五月综合婷婷| 婷婷久草| 久久激情天堂| Www.狠狠| 五月丁香激情在线| 99re热视频这里只精品| 狠狠五月天婷婷| 五月激情站| 97碰超级人人看| 激情影院丁香五月| 1囯产午夜仑鲁鲁| 婷婷五月天日日日干干干| 拍真实国产伦偷精品| 91啪啪视频| 日本一级一片免费视频| 欧美日韩成人在线观看| 婷婷五月激情在线| 第四色色六月色综合| 五月丁香婷婷伊人| 日韩av在线播放综合网| 色五月成人网| 丰滿爆乳一区二区三区| 女高怪谈在线观看| 五月天久草| 婷婷激情综合| 日本人人草草| 一区=区操屄高清大全av| 五月婷婷综合精品| 婷婷五月综合网激情| 色屌丝中文字幕| 五月婷婷综合社区| 99热777| 九九伦子片| 夜夜夜夜夜骑撸| 久久久久婷| 综合久久综合久久| 亚洲AV网站在线观看| 99热这里只有精彩| 丁香五月天激情婷婷丁香六月| 性综合网| 丁香五月在线伊人| 天天搞天天爽| 色婷婷AV五月天| 九久久九精品视频| 欧美五月婷婷| 九九色99| 91久久久久久久| 亚洲日本激情| 丁香五月之久操视频| 丁香六月情| AV在线观看网站| 天天做天天爽| 播五月丁香六月| 四色永久成人网站| a在线观看| 天天爱天天做综合| 人人操91色| 婷婷色影院| 思思99精品视频在线观看| 99青青草99| 五月婷婷丁香综合| 99热精在线九九久久保| 97操碰98| 五月丁香六月婷婷亚洲综合| 97碰碰在线观看视频| 五月婷婷六月丁香| 夜夜爽天操| 7777激情基地| 色呦精品| 伊人在线婷婷草| 激情伊人网| 婷婷综合网站| 五月丁香婷婷激情澎湃四射| AV五月丁香| www狠狠| 综合五月激情网| 婷婷射图五月天| 欧美怡红院黄站| 久久精品99久久久久久| 亚洲99视频| 色色色婷婷五月| 日本乱子人伦在线视频| 色婷婷精品视频| 丁香五月视频在线观看| 亚洲mm免费| 五月丁香六月婷婷久久肏| 五月婷婷色丁香| 五月天丁香网站| 九九热9| 这里只有精品免费| 六月丁香基地| 99久久97久久欧美综合网| 99视频在线观看地址| 97精品欧美91久久久久久久| 久久婷婷亚洲五月天| 99久在线精品99re8| 中文字幕网站在线观看| 国产精品久久久久久久久久免费| 免费看成人747474九号视频在线观看| 狠狠色情婷婷| 五月总合激情网| 欧美性交一区二区三区| 色偷偷AV亚洲男人的天堂| 亚洲国产成人在线| 天天色视频| 99热这里只有精品96| 超碰99在线观看| 婷婷色五月天色色| 色九九综合色| 五月丁香网站| 人妻久热| a毛片二逼wwwwwwwwww| 激情色播| 国产三级片91| 99热这里只有精品2| 人妻五月天激情开心网| 26UUU成人网| 91天天操天天干天天射| 久草九九| 玖玖婷婷免费| 色狠狠色综合久久久绯色aⅴ影视| 99亚洲精品视频| 日韩在线视频网站| 丁香五月偷拍| 色偷偷五月天| 亚洲aV写真天天综合网久久| www.日日夜夜| 人人操日| 4399在线观看免费高清黄色视频| 天天久久婷婷| av在线婷婷| 丁香五月偷拍| 亚洲高清在线| 五月激情综合网| 色色亚洲五月天| 九月婷婷综合| 天天操夜夜操| 亚洲激情综合| 丁香六月婷| 精品亚洲国产成AV人片传媒| 色色国产| 色综合激情| 五月婷婷中文字幕| 五月天丁香成人社| 狠狠色噜噜狠狠| 色激情五月| 99热国产| 丁香五月婷婷亚洲综合精品| 99热在线中文字幕| 亚洲另类视频| www.婷婷,com| 日本系列_4页_777FP| 久操大香蕉| 99视频内射三四| 国产欧美日韩综合精品一区二区| 五月婷婷六月激情| 精品香蕉99久久久久网站| 婷婷五月综合社区在线| 日韩久久欧亚| 77777亚洲午夜久久| 中文精品在| 97av在线视频| 久青青久| 啪啪丁香五月| 色综合色综合婷婷热| VA国产在线综合网站| 蜜臀九九九九| 香蕉婷婷色五月| 九九热只有精品| 久99热| 99热在线播放| 婷婷五月天激情文学小说| 噜噜色五月| 激情都市五月天| 日本操B视频| 激情AV在线| 激情六月天| 日本丰满久久| 啪啪99| 91综合在线| 婷婷激情六月综合| 久久久久这里只有精品| 久久九色| 欧亚洲在线高清视频| 99.N在线视频| 天天舔天天插天天爱| 色婷婷六月精品| 六月丁香婷婷综合在线| 婷婷综合成人| 丁香五月自拍| 丁香五月停停av| 伊人9在线| 亚洲性受XXXX五月丁香| 思思精品久久艹| 超碰在线观看9| 久久视频在线视频| 玖玖婷婷婷丁香五月| 色综天天综合| 天干夜夜操| 五月丁香啪啪| 丁香五月婷婷综合激情啪啪啪| 婷婷五月天天激情| 九九国产精视频| 99爱精品视频| 9久精品视频| 七七久久综合| 天天玩夜夜操天天爽| http://www.sd-xiangsu.com/| 人人干女人| 久久精品国产AV一区二区三区 | 欧美WW在线网| 婷婷色5月天在线。| 久久久激情视频| 激情五月天婷婷播播久久综合91| 性色婷婷| 丁香五月婷婷亚洲另类| 久久超级碰碰| 99色综合久久| 天天免费成年人视频| 色综合五月| 国产乱妇乱子在线播视频播放网站| 影音先锋自拍网| 五月丁香六月婷婷综合在线| 夜夜骑夜夜撸| 欧美交换配乱吟粗大25P| 婷婷涩五月| 中文字幕色色| 99色综合| 久操综合| 亚洲最大五月天成人网| 天天操天天操天天操天天操天天操| 97香蕉人人在线观看| 丁香婷婷久久激情| av大香蕉| 免费无码毛片一区二区A片| 九九热这里只有精品23| 丁香婷婷五月综合| 欧洲综合一区| 五月四色色| 久久女婷| 五月丁香婷婷激情影院欧美| 五月天五月天激情网| 丁香五月花| 久久婷婷六月| www.丁香五月| 91超级碰在线| 欧美五月丁香| 五月天激情日色在线| 2025天天操| 五月天丁香| 激情综合网婷婷久久| 久久久久人妻精品|