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

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
返回資訊列表
骚五月婷婷| 六月丁香停| 不卡影院午夜理论片| 伊人9草在线观看| 4399人妻无码久久久| 99在线观看视频蜜臀| 成年视频免费观看| 久久全色| 91碰九色| 9久操| 亚洲不卡| 精品成人在线观看| 在线观看av网站| 五月天婷婷永久免费视频| 99热综合色图| 日本九九视频| 丁香五月开心亚洲| 99人妻碰碰碰久久久久视| 久久综合99| 超碰三级片| 丁香五月六月激情久久| 思思热久久久在线| 日日操夜夜骑| 丁香五月天狠狠| 天天摸日日舔狠狠添婷婷婷| 婷婷丁香五月六月激情| 伊人狠狠操| 九九热在线亚洲免费视频| 久久五月天激情婷婷| 玖玖婷婷色欲| 狠狠狠狠青草| 伊人综合色干| 超碰在线观看99| 五月婷婷日| 亚洲影院婷婷色| 爽tv | 欧美精品中文字幕亚洲专区| 亚洲深喉AV| 久久精品99国产精品日本| 99在线精品视频在线观看| 五月天亚洲综合网| 色播五月婷婷| 亚洲av| 99无码视频| 婷婷在线视频| 亚洲精品久久久久AV无码| 色五月婷婷久久| 精品婷婷| 日产精品久久久久久久蜜臀| 丝袜熟女一区二区三区| www.无码com| 亚洲av网址| 亚洲成片在线观看| 永久的网站AAAA| 婷婷99| AV堂狠狠干| 91啪啪| 狠狠搞五月天| 色狠狠图片| 99热99热| 久久99精品九九久久久婷婷| 国产午夜精品一区二区三区四区| 少妇婷婷五月天| 99热99| 99人妻碰碰碰久久久久视| 久久五月天网| 激情五月天开心网丁香无码| 五月丁香影视| 婷婷久草| 日本在线99| 99色热视频| 东京热免费视频| 五月丁香六月婷婷,婷| 色色色综合视频| 久久五月人人摸| 性爱电影科技贸易有限公司| 99噜噜| 亚洲色网址| 久99热| 新激情婷婷| 天天综合色99| 新99色色色色色色| 原琪琪色影院| 日韩精品VIP| 123草逼网| 伊人青草成人| 思思99热| 婷婷五月丁香成人网| 97热精品| 九九亚洲视频| 亚洲蜜桃精久久久久久久久久久久| 一区操| 激情五月天丁香| 五月婷婷在线观看| 成人无码精品1区2区3区免费看| 激情98色婷婷五| 97性视频| 婷婷五月天影视首页| 九九色热| 九九99香蕉在线视频播放| 丁香五月天欧美成人| 亚洲婷婷五月天激情综合| 伊人久久大香蕉网| 亚洲精品成人片在线播| 思思热久久久在线| 亚洲第一成人无码A片| 丁香五月婷婷偷拍| 可以看的av| 五月天婷婷综合网| 深爱五月激情网| 91成人电影| 91中文狠狠综合| 伊人久久婷| 丁香五月精品| 色婷婷成人色网| 亚洲另类电影| 99黄色性生活| 另类激情五月| 91丨九色丨高潮丰满日本| 久久性都花花世界成人免费视频| www,五月丁,com| 色婷婷久久久| 成人在线网| 激情文学五月丁香六月婷婷| 第四色色六月色综合| 久久视网36| 五月丁香自拍| 久久精品视频99| 99精品视频网| 亚洲AV无码影院| 操你av| 日韩成人电影AV| 在线观看欧美| 五月婷婷亚洲| 丁香五月情色| 色婷婷丁香五月| 99色热视频| 婷婷亚洲五月| 香蕉狠狠爱视频| 99激情| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| www.五月天性.com| 热日韩欧美| 99精品网站| 免费看欧美成人A片无码| 婷婷在线观看五月天在线视频| 久久久99视频| 99热欧美| 丁香性爱在线视频| 五月丁香婷婷综合视频| 插逼综合网| 五月天丁香| www,色综合| 爱草人视频| 久久女人九九| 色九九综合| 黄网在线播放| 国产AV影片| 五月婷六月天| 色99热| 人妻熟妇国产精品| 五月天婷婷自拍图片在线观看| 深爱五月天| 丁香婷婷精品视频| 在线色婷婷| 丁香婷婷噜噜| 婷婷色在线| 99久久九九| 久久网思思| 激情精品久久| 日韩成人免费电影| 伦99热| 婷婷成人av| 丁香五月六月婷婷怡红院| 五月丁香婷婷老司机| 79精品视频在线观看,| 综合色色综合| 这里有精品| 亚洲情a| 91 九色 入口| www.婷婷| 99乱视频| 色婷婷五月天综合网| 日韩AV中文字幕在线| 久久五月天网| www夜夜操wwwcon| www.五月丁香| 北条麻妃伊人| 超碰免费人人| 9l视频自拍九色9l视频在线观看| 色五月视频无码播放| 伊人成综合五月婷婷| 婷色人人狠| 97好吊操| 凹凸7777操操操| 久久丁香网| 91丨九色丨白浆| 五月丁香色色综合| 色偷偷色婷婷| 中文字幕综合色| 91色色色18| 午夜九九电影| 女人露出p毛视频www网站| 丰满少妇猛烈A片免费看观看| 日本丁香五月| 婷婷五月天综合色| 久久精品小视频| 超碰在线9| 玩熟女五十AV一二三区| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 色播五月丁香综合| 国产婷婷色综合AV蜜臀AV | 色五月久久成人婷婷| 九九超日本| 中文字幕按摩做爰| 1024人妻| 久久精典| 色99热| 99视频精品全部免费观看| 另类 在线| 婷婷香草网| 色婷网| 欧美成人网99网| 新99思思视频| xx综合网| 91大屁股| 青青草视频福利| 91精品久久久久久综合五月天| 操比激情五月| 久热AⅤ| 五月丁香本色在线观看| 在线观看免费观看在线9久| www色色色com| 三级三久久线久久99久目本WW| VfJxEwPH| 欧美成人网99网| 另类图片婷婷五月天| 五月婷婷高清| 婷婷五月天直播| 99久久婷婷国产综合| 婷婷六月综合基地| 狼人狠狠操| 色色丁香五月| 99热老司机| 国产精品人妻在线网址| 五月婷婷久久大香蕉| 大香蕉伊在| 色婷婷成人久久| 亚洲激情四谢| 丁香六月婷婷社区| 国产精品色婷婷99久久精品| 91超级碰| va中文资源在线观看| 性爱动图国产麻豆一区二区三区| 日本色噜| 五月天婷婷深深爱| 激情www| 99精品视频网站| 激情99在线视频| 就爱射中文字幕资源网| 99热这里只有精品4| 久热这里只有精品99re| 五月天丁香婷婷社区| 五月婷激情影院| 久久99精品久久久久久三级| 久久婷婷伊人| 婷婷五月久久| 五月天婷婷丁香花| wwW天天干| 色婷婷WWW| 天天搞夜夜六| 婷婷五月激情五月激情| www.久久久.com| 69精品人人人人| 婷婷丁香熟妇综合网| 色婷婷小说| 97日韩无套内| 96精品久久久久久久久| 深爱婷婷色| 婷婷激情五月天小说| www.henhengan| 婷婷成人视频| 免费看欧美成人A片无码| 99在线资源视频| 亚洲综合欧美色丁香婷婷888月图片| www. 五月. com| 五月丁香六月婷婷成人| 琪琪理论片| 婷婷五月噜噜| 狠狠干狠狠干| 91刘玥视频在线观看| 9精品在线| 激情纯色婷婷五月天在线不卡视频| 九九机热| 综合色99| 五月丁香激| 免费精品66| 可以看的AV网站| 久久五月婷| www.色五月| 六月婷婷香蕉| 开心激情网五月| 丁香婷婷久久| 日韩精品99久久| 那里有AV网址| 亚洲99在线| 九九在线视频| 国产伦理精品高清在线观看网站一区二区 | 草了bav视频在线观看| 国内久久久精品99| 少妇久久诱惑视频| 99热婷婷| 成人网丁香五月| 欧美丁香六月在线观看视频| 性欧美日本| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 99在线视频资源| 少妇AB又爽又紧无码网站| 日本色色影院| 深爱激情av| 久久久99久久| www色综合亚洲92| 激情久久四色| 99热这里有精力| 国产婷婷久久| 婷婷成人五月天成人文学小说| 精品久久艹| 久久一级免费黄色片| 熟女激情网| 91婷婷色 | 亚洲色婷婷网站| 久久视频婷婷视频| 色色五月天丁香| 久久色五月天综合网| 婷婷五月激情综合| 精a品a视a频| 丁香婷婷五月色成人网站| 91九色白丝| www.夜夜操.con| 天天色播| 伊人婷婷大香蕉| 这里只有精品免费| 综合亚洲AV| 色丁香影院| 色婷婷丁香花五月天| 五月色丁香综合| 日韩久久视频| 久久婷婷五月综合| 久久久久婷婷| 五月久久五月激情| 99色在线| 五月婷婷免费| 婷婷五月另类网站| 伊人婷婷五月天| 99欧美三级视频| 丁香五月婷婷色| 久久久宗合视频88| 激情五月婷婷网| 色综合中文综合网| 饮料下药迷倒漂亮女同事强干| 丁香99| 久久这里只有国产视频| 天天操精品| 五月天,激情四射,婷婷频道| 五月激情综合性爱| 丁香色五月 97干| 婷婷午夜精品久久久| 婷色五月| 五月婷丁香亚洲| 亚洲中字AV电影在线网站| 777丁香六月青青草婷婷综合久月| 99热这里只有精品青草| 欧美综合激情五月丁香| 激情影院69| 五月丁香亚洲婷婷| 国产精品视频免费看| 黄色三级日本| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 天天天天天天天操| 日熟女| 激情伊人| 第六色在线| 中文字幕操比影片| 五月激情婷婷在线| 丁香五月天啪啪激情综合网| 五月丁香久久呀| 五月婷婷三级| 九九免费在线视频| 99九九玖玖| 99热九九热| 加勒比色色| 香港九九六区八区99| 五月婷婷六月丁香| 极品 少妇 内射| 人妻六月天| 99碰碰| 婷激情五月| 九九精品热播| 久久婷婷九月国产精品| 久热黄色| 激情九九这里只有精品| 久久久WWW| 中文字幕婷婷9月天| 成人网站免费在线播放| 亚洲一区二区无码蜜乳av| 亚洲另类毛片| 99热在线观看| 婷婷久久五月| 五月草视频| 九九热在线观看6| 懂色av粉嫩AV蜜臀AV| 九色自拍| 五月激情综| 爱之国产色情综合| 99在线免费视频| 日韩一区二区A片免费观看| 草综合14| 天天五月情| 亚洲精品国产setv| 欧美碰碰| 激情性爱婷婷| 91丁香色| 亚洲爆乳无码精品AAA片蜜桃| 美女丁香五婷婷| 五月丁香六月婷婷综合免| 伊人婷婷色| 无码一区精品一区视频| www.久热| 99久久综合| 丁香五月成人社区| 五月久久丁香| 深爱五月天 开心网| 爱操人妻| 伊人玖玖精品| 婷婷五月综合啪| 婷婷五月激情黄色| 熟女人妻一区二区三区免费看| www.91九色| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 天天综合网网欲色| 偷拍视频五月天| 五月婷婷激情综合在线| 色狠狠五月天| 日本99视频| 偷拍91九色| 日韩野外 无套| 99在线精品免费视频| 强伦轩人妻一区二区电影| 97极品在线| 夜夜躁爽日| 色天天综合| 午夜性爱影视一区77| 久鲁鲁色网 | 九九九九九九综合| 六月综合婷婷开心伊人| 金品在线视频99| 五月婷婷www| 91伦| 丁香六月| 国产91视频| 中文字幕,综合,91| 色婷六月| 啪啪色激情五月天| 狠狠色丁婷婷日日,伊人激情综合网| 色婷婷狠狠爱| 丁香五月图片| 五月激情视频网| 99热精国产这里只有精品| 中文不卡一二三区| 国产精品热搜丁香五月婷婷| 日本va欧美va欧美va| 五月婷婷自拍视频| www.五月天婷婷| 草综合14| 婷婷色色五月| 五月婷婷爽爽爽| 伊人丁香在线| 六月婷婷啪啪| 久久中文人妻系列| 天天爽夜夜爽| 99热丁香| 91久久久久久| 91fuliwang| 久久五月婷婷丁香| 丁香五月色情| 激情五月丁香激情综合网| 米奇影视五月天| 六月丁香综合| 五月开心久久| 久久月天堂| 久操干| 99er日韩| 天天综合网亚洲网站| 色婷婷国产精品综合在线观看| 色五月琪琪| 激情丁香五月婷婷| 免费看片操逼| 天天插天天插天天日| 开心五月婷婷99| 亚洲色夜| 亚洲精品V天堂中文字幕| 天天视频精品9| 激情婷婷丁香五月天| 激情深愛五月視頻| 久久九精品| 涩五月婷婷| 久久婷婷东京热大香樵| 六月激情婷婷色| www.99成人视频| www色色com| 91夫妻视频| 99狠狠操一| 婷婷五月天,影院| 精品无吗va视频免费观看| 五月丁香六月婷婷久久| 久久久亚洲成人无码A片| 色琪琪一综合久久激情五月视频| 欧美Va在线| 色哟哟精品| A片试看120分钟做受图片| 激情五月天的婷婷| 丁香婷婷成人在线播放| 婷婷五月激情小说| 天天肏高清在线| 大伊久久| 色色操| 成人中文字幕在线| 亚洲色色香蕉| 精品亚洲国产成AV人片传媒| 日本99久久| 九九视频这里只有精品| 免费视频WWW在线观看网站| 99riAV国产精品视频| 婷婷激情啪啪| 国产精品第一国产精品| 九九色综合| 99成人在线观看| 九九成人电影婷婷| www.sd-xiangsu.cpm| 91色五月| 97色欧美| 亚洲男女激情| 密视AV综合在线| 99热这里只有精品23| 99热激情| 国产韩日亚洲美州欧亚综合在线| 激情久久肏屄视频| 激情五月综合久久| 五月丁香六月婷| 色五月在线综合| 另类综合国产| 色九四色| 99爱无码| 国产99久9在线+|+传媒| 久热A| 国产毛片精品一区二区色欲黄A片| 五月丁香| 天天骑天天操| 丁香五月婷婷久久久| 九九伊人网| 色婷婷丁香五月天| 五月天开心网| 狠狠va| 亚洲中文字幕网| 天天做天天要天天爱| 久久婷婷成人综合色怡春院| 久热综合| 婷婷五月婷婷| 日日干日日色| 婷婷五月色播天| 久久精彩视频99| 五月婷九月| 久久综合天天综合| 大香蕉娱乐| 五月婷视频| av激情在线| 久操热线| 日本va欧美va精品发布视频 | www,五月天激情| 狠狠爱婷婷五月天| 久re热视频| 五月丁香婷中文| 亚洲久热| 婷婷六月天精品| 色综合综合综合| 五月婷在线播放| www91久久| 丁香六月啪啪| www.com操| 99碰碰碰| 亚洲另类婷婷综合| 国产Va视频| 百度一下国产精品A| 婷婷久久色| 天天久综合网永久入口17v| 狠狠色综合网站久久久久| 密黄站| 九月丁香八月婷婷加勒比| 91操色| 超碰人人色| 亚洲综合网激情五月天| www一起操在线观看| 婷婷久久网| 插少妇综合网| 大香蕉操操| www.色综合| 日日爱699| 97色婷婷五月天| 日日影院 | 五月丁香综合在线| 久久99热这里| 婷婷激情五月天小说| 99久久激情视频| 婷婷综合六| 色婷婷综合久久久久| 无码少妇高潮喷水A片免费| 这里只有精品1| 日本三级大片| 成人人操| 婷婷色五月91啪啪| 99综合视频一体| 久久久久久五月天| 六月欧美综合色情| 玖玖婷婷色五月| 91av传媒高清在线视频网| 婷婷月综合| 五月婷AV| 精品视频99看在线视频| 五月丁香激情综合六月涩涩爱| 这里只有精品视频| 婷婷激情综合| 色五月婷婷五月| 色播五月丁香婷婷| 99久久网站| 成人网页在线观看| 骚逼视频一区2区| 欧美性爱五月天| 天天做天天爽| 久久这里只有欧美| www.伊人天堂偷偷婷婷| 噜噜色五月| 偷偷操99| 久久婷婷综合拍| 69凹凸成人综合网| 色婷婷综合网站| 99久久久久| 天天舔天天爽| 激情六月天婷婷| 色五月色综合| 狠狠色性| 99热视| 丁香色五月直播| 日本久久视频| 超碰在线国产9| 亚洲精品成人片在线播| 99艹精品在线观看| www.99热精品99.com| 色婷婷呢狠禁久禁| 久久人妻超碰一区| 国产看真人毛片爱做A片| 婷婷丁香久久| 99色综合| 99在线精品免费视频| 亚洲色综合| 可以免费观看的AV| 五月丁香啪啪网| 激情第四色| 婷婷91| 色五月综合网| 亚洲欧美在线观看| www.wuyuetian啪啪| 成人龟情网丁香五月| 五月Huangsewang| 91肏肏肏| 日本A片一区| 黄色短视频在线观看| 久久色午夜在线导航| 综合婷| 热久久色| 婷婷色中文字幕| 五月丁香爱婷婷深深| 久久亚洲色导航| 欧美另类五月激情| 天天射色五月天| www.婷婷五月| 97九色| 99爱爱| 五月天婷婷色播综合在线| 丁香六月天婷婷色| 丁香五月综合久久| 亚洲精品视频在线| 色婷綜合网| 欧美爆乳一区二区三区| 欧美成人日韩| 日日操天天操| 久久婷婷午夜| 大香蕉狼人久久| 9久久精品| 丁香六月色情| 开心婷婷丁香五月| 色五月欧美| 超碰免费人| 欧美精品久| 91chinese在线| www,婷婷五月天777me,com| 五月丁香六月婷婷的女人| 操操自拍| 精品一二三区久久AAA片| 婷婷干| 五月丁香久久网| 色五月久久成人婷婷| av操一操| 丁香五月在线观看| 天堂网操| 日韩五月婷婷| 丁香五月天电影| 激情婷婷丁香| 激情婷| 99热精品少| 亚洲最大视频| 国产肥白大熟妇BBBB视频| 久草丁香婷婷五月天婷| 99热这里只有精品10| 99热无码首页| 国产精品18久久久| www.婷婷.com| 男女久久婷婷五月天| 99热这里都是精品| 丁香婷婷六月| 日本人妻丁香婷婷久久寝取熟女五月| 丁香婷婷色五月激情综合| 免费精品99| 欧美日韩成人在线网站| 天天射天天射一道本日本社区| 婷婷五月丁香综合激情| 99色综合久久| 99热国产国产| 九月丁香| 五月天另类图片区99| 久久性爱网站| www.五月天婷婷| 婷婷 伊人 久久| 色五月视频,小说| 久热9| 另类视频综合| 日91高清无玛| 久久久免费图片视频| 99久久黄色顶级视频| 婷综合| 四季AV综合网| 这里只有精品视频99| 亚洲精品字幕在线观看| 五月色综合网欧美网| 五月丁香久久| 99热99| www色婷婷com| 五月丁香六月片| 日日干综合| 久99热| aaa丁香五月天| Av九九| 丁香婷婷九月| 91丁香五月| 五月婷婷九九久久| 天天五月天综合网址| 色情网综合| 五月天另类小说久久小说网| 成人在线二区| 天天摸日日舔狠狠添婷婷婷| 亚洲精品久久久久久久久久飞鱼| 青青热久久综合| h在线看免费版在线看| 91久久久久久| 狠狠综合网| 欧洲99视频在线| 婷婷基地爱| 丁香五月婷婷狠狠色| 色色日本| 天天日天天干天天爱| 99热精品中文字幕| 天搞天天天天天| 亚洲黄色影视| 婷婷中文字幕版| 色色色色色色综合网| 色香五月天| 国产精品成人网址| 五月丁香在线观看| 伊人玖玖精品| 五月激情六月综合| 久久五月丁香六月婷| 日本少妇裸体做爰高潮片| 亚洲婷婷丁香五月视频| 婷婷九九色| 九九热精品视频在线观看| 成人在线综合| 婷婷香五月天| 婷婷丁香五月天色区| www.ywav| 婷婷久久精品| 五月婷婷深深的爱| 亚洲V国产V欧美V久久久久久| 色婷婷激情视频| 嫩草视频。| www.色婷婷.com| 91丨九色丨国产打屁股| 国产真人做爰视频免费| 色婷婷九月| A级毛片高清免费不卡播放谢谢谢谢| 欧美久久婷婷| 丁香五月婷婷丫| 亚洲天堂AV综合网| 99热这里| 高清无码一区二区三区四区| 七七色综合| 久久婷婷综合基地| 青草视频在线蜜臀| 日韩伊人大香蕉| 婷婷金品综合视频| 日日操日日射| 丁香久久综合| 天天狠狠综合精区| 黄色一级影片| 色综合五月婷婷狠狠干| 精品人妻在线| 桃色五月天| 99热97| 熟女激情网| 婷婷综合一二三| 99噜噜噜在线播放| 日日夜夜狠狠| 五月丁香六月婷婷中文版| 99热在线爱| 五月丁香综合啪啪| 激情丁香五月婷婷| 激情欧美婷五月| 91九色在线视频| 99热久久这里只有精品| 五月婷婷啪啪啪| 五月天婷婷成人资源站| 欧美久久婷婷| 久久天堂女人| 国产国产乱老熟女视频网站97| 六月婷婷色| w婷婷五月婷婷w| 99热这里都是精品| 久久精品日| 亚洲乱码日产精品BD| 丁香五月天.com| 亚洲 五月 婷婷 成人| 五月激情啪啪| 五月天丁香| 天天爽夜夜爽夜爽精品| 91丨熟女丨首页| 色婷婷偷拍| 国内精品免费一区二区2009| 99色在线| 婷婷五月天色色| 亚洲色五月婷婷| 五月婷婷综合色啪首页| 婷婷色激情网| 婷婷综合精品| 草榴视频网| 天色色综合网| 狠狠干.com| 99热这里只有精品8| 亚洲黄色影视| 99热日韩| 99热综合在线| 色婷婷色99国产综合精品| 久久久久久久合一狠狠做深爱| 翔田千里aV中文字幕| www.日本久久videos| 曰曰久久| 精品99在线看| 在线看黄色| 久久一伦| 色婷婷最新域名| 97人人操人人拍| 久久婷婷老| 天堂久久久久天堂网| 久久一级AV| 97在线观视频免费观看| 国产无套精品一区二区| 亚洲亚洲人成综合网络| 国产看真人毛片爱做A片| 婷婷六月色| 亚洲综合五月天婷婷丁香| 激情五月天网| 婷婷五月丁香六月| 激情综合五月| 五月天激情四射| 欧美色五月| 777米奇影视第四色| 无码少妇高潮喷水A片免费| 亚洲成人在线播放| 亚洲乱码日产精品BD在线观看| 丁香五月电影| 激情五月激情综合网| 欧美三级A做爰在线观看| 96精品成人无码A片观看金桔| 日本人妻伦在线中文字幕| 国产毛片欧美毛片久久久| 最近中文字幕2019视频1| 美女婷婷激情亚洲| www.九九婷婷| 五月天激情久久| 成人精品在线观看| 精品一二三区视频立| 婷婷五月天深爱| 亚洲人成人五月天| 丁香婷婷九月| 99无码黄色视频| 另类少妇人与禽zOZZ0性伦| 成人草榴视频| 免费操超碰| 91九色无码日韩| 性爱先锋AV| 久热这里只有精品66| 泰州成人视频| 九九热免费| 人妻日日日| 18久久| 思思99热这里只有精品| 天天日夜夜草进麻麻的子宫| 婷婷噜噜| 另类图片天天影视在线观看| 色九区| 久综合4| 日本在线视频播放91| 亚洲性爱干干| 99热官网精品在线| 中文字幕 码精品视频网站| 三男玩一女三A片| 欧美婷婷九月| 五月丁香网av| 五月激情影视| 五月天色综合| 91人人爽人人操| 色五月婷婷 成人| 涩五月色婷婷| 亚洲色网络| 日本高清不卡免费一区二区三区| 激情综合五月天| 艾小青av| 国产激情综合五月久久| 国产精品天天狠天天看| 超碰色婷婷| 天天色天天噜| 九九aV| 伊人喵咪a V| 操人91| 丁香五月婷婷激情蜜桃| 色婷婷九月| 久久国产高清| 天天日人人爽| 亚洲综合激情五月久久| 密视AV综合在线| 天天天天天天天干| 久99热在线观看| 丁香五月婷婷天激情| 色9999日韩国产| 超碰1999| 中国女人做爰A片| 色私五月婷婷| 激情五月天伊人av| 天堂成人A片永久免费网站| 97碰碰在线观看视频| 狠狠五月天婷婷激情网。| AV性爱在线| 五月丁香综合成人社区| 色五月婷婷五月丁香五月| 97婷婷色| 色色色婷婷五月天| 婷婷色五月在线视频| 成人.在线日韩| 天天天天天天天干| 97资源碰碰| 久久的爱大香蕉| 欧美成人精品一区二区| 色色无码| 嫩草AV久久伊人妇女超级A| 激情亚洲婷婷| 久久一级免费黄色片| 伊人午夜综合色啪| 国产精品人成A片一区二区| 999婷婷综合| 日日夜夜干| 九九99在线| 婷婷丁香五月综合激情小说| 久久99热网| 91艹人| 丁香婷婷久久| 色五月xxx| 97自拍视频在线| 爆乳熟妇一区二区三区爆乳照片| 亚洲VA口| 中文字幕天天干| 婷婷五月天在线观看免费| 九九热123| 五月天天天开心激情网| 丁香五月天啪啪| 另类的婷婷| 久久色情| 99热国产国产| 激情又色又爽又黄的A片| 这里只有精品99视频| 亚洲免费看片| 久久99热这里| 极品人妻VIDEOSSS人妻| 色五月在线| 四季8848精品成人免费网站| 色婷婷色五月丁香| 国产AV熟妇人震精品一品二区| 五月婷婷这里都是精品| 成人做爰高潮A片免费视频| 婷婷丁香五月天在线视频| 丰满少妇乱A片无码| 五月丁香狠狠爱婷婷综合| 极品人妻VIDEOSSS人妻| 五月婷婷激情综合拍| 九热av| 这里只有精品视频在线| 色九月婷婷丁香| 婷婷综合精品| 免费国产VA国产免费| 九九色综合| 婷婷五月天亚洲图片| 微拍92| 色色色色色色色色色色色色色97| 99ri精品视频在线观看| 五月丁香六月激情| 丁香五月久久综合| 婷婷六月久久| 色老久久| 五月天色婷好好| 艹B高清无码| 五月婷婷啪啪| www久久99| 夜精品无码A片一区二区蜜桃| 激情小说 五月天| 91人人操| 六月丁香啪啪| 天天爽天天摸| www.久久爱.com| AA丁香综合激情| 人人人va亚洲视频在线| 久久婷婷婷| 欧美肉大捧一进一出免费视频| 久久久99精品| 久久婷婷内射| 丁香五月成人| 色色色.COM| 色婷婷久久久| 99精品偷自拍| 久久久27操| 99re这里只有精品国产99| 特黄三级又爽又粗又大| 九九综合| 小视频一区| 国产精典视频在线观看| JAPANRCEP老熟妇乱子伦视频 | 91女人18毛片水多国产| www99精品| 五月丁香五月天现场视频| 99色在线观看视频| 日日夜夜干| 久久久27操| 美女主播野战视步页| 91免费看片| 国产午夜成人免费看片无遮挡| 狠狠干狠狠干| 天天干-天天日| 国产操B视频| 国内一级片| 丁香六月久久| http://www.sd-xiangsu.com/| 在线中文字幕视频| 欧美高潮9| 九九AV| 99在线免费视频| 色小说五月婷婷| 97资源欧美日韩大香蕉超碰一区| 九一娱乐在线观看视频| www色婷婷| 久久五月婷婷丁香| 俺去也在线www色官网| 亚洲国产婷婷色五月| www.久久9| 青青草大香| 狠狠色综合网| 久久狠狠干| 五月婷婷丁香在线| 狠狠狠狠狠狠狠狠草| 色九月婷婷综合| 久久五月情| 最新无码专区| 国产精品色| 国产亚洲色婷婷久久99精品91| 欧美黄色韩日网| 久久久五月婷婷| 九九热只有这里是精品| 99久久久99久久91熟女| 亚洲色色五月天| wwww.色婷婷| 色色色色丁香| 天天做天天爽| 色五月婷婷中文字幕| 天天色天天| 人人干人人操人人摸| 国产日日操夜夜操的肉棒视频| 99热99思午夜精品| 99热在线爱| 激情五月天色色| 九月激情综合| 丁香五月综合久久| 免费成人中文字幕| 亚洲 成人 电影av在线观看| 久久婷青青草原| 情欲禁地| 天天射网站| 少妇性BBB搡BBB爽爽爽电影| 成人在线日韩| 五月丁香六月婷婷网| 色播五月婷婷| 久久人妻久久| se99视频| 久久怡红院| 久久婷婷色| 五月婷婷综合网| 国产精品99久久久久久久女警| 天天综合色| 成人片黄网站色大片免费毛片| 99性爱视频| 91打屁股免费看| 丁香五月亚洲综合丝袜| 麻豆忘忧草午夜| 一级无码作爱片| 婷婷六月综合基地| 69久久99精品久久久久| 激情综合网五月| 日韩成人中文字幕| 亚洲色9| 婷婷五月天成人动漫 | 色婷婷情片| 91婷婷搞| 婷婷她六月天| 五月天开心婷婷久久| 久99久热只有精品国产99| 丁香五月23111| 无人精品在线视频| 丁香五月影院| 色色网站在线| 天天爽天天爽| 69热91天堂| 操日本三片99| 九九精品视频免费在线| 色婷婷五月天天天天天| 天天日天天操天天干| 超碰1999| 九九碰九九爱97| 色婷婷成人做爰A片免费看网站| 激情网 久久| 五月天婷婷激情在线色图| 99久久久久| 97色五月天| 九九99久久| 色色色色网站| 色婷婷五月综合激情中文字幕| 91日综合欧美| 欧美操人| 伊人色欲五月天| 熟女网站久久| A片试看120分钟做受视频红杏| 中文字幕人妻AV| 99日韩| 欧美天天干天天草| 97色永久免费视频| 激情五月天婷婷| 久久久五月天网站| 欧美日韩AAAAA| 五月天色婷婷网| 九九久久99| 五月婷三级片| 久久婷婷网站| 日日噜狠狠色综合久久| 97干视频在线| 国产古装妇女野外A片| 99人人操人人操人人精| 丁香五月狠狠在线观看| 这里只有精品免费视频| 五月婷婷色播| 久久五月天丁香花| 五月天色狠狠| 天天综合色| 69精品人人人人| 婷婷操久久| 五月综合激情综合久| 激情综合婷婷| 色久婷婷网| 欧美黄色韩日网| 强壮公让我夜夜高潮A片视频| 在线播放成人| 激情婷婷综合| 激情性爱五月| 欧美色必爱| 99热国产这里只有| 国产午夜精品一区二区| 丁香五月天堂婷婷| 五月丁香亚洲校园欧美| 99色在线视频| 狠狠色 综合色区| 五月五婷婷网| 色五月播五月| 色五月婷婷777| 丁香婷最新动态| 另类激情首页| 嫩模草| 夜夜骑日日操| 噜噜干日本| 伊人久久综合| 婷婷五月天色综合| 成人日韩欧美| 婷婷五月丁香综合| 色婷婷日本| 久久久久97| 天天插天天日天天爽| 久操热| 99色五月| 五月天网站免费欧美| 68热超碰在线| 欧美黑人巨大猛烈cuckold| 99色免费观看全部| 色婷天天| 婷婷激情六月视频| 色原狠狠综合| 午夜做爱影院| 青青久久五月| 激情都市五月天| 在线观看免费视频| 婷婷激情五月天7| AV大香蕉| 日韩成人电影AV| 亚洲综合视频网| 亚洲天堂大香蕉| 日日干夜夜干| 久久婷婷亚洲无码一起| 色五月丁香婷婷| 久久9热综合| 五月综合无码| 9热在线视频精品| 99久在线精品99re8| 色欲色香综合网站| 丁香五月天在线观看| 任你干线上免费视频有3吗| 伊人五月天婷婷| 99久久超级| 五月成人综合| 婷婷丁香综合在线| 亚洲成人婷婷| 亚洲XX网| 色婷婷超碰| AAA久久久| A久久| 亚洲色婷婷婷婷人人爽| 夫妇交换刺激做爰| 大伊久久|