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
返回資訊列表
男女99免费视频| 第2色五月婷| 激情五月婷婷在线观看| 91综合国免费久入| 北京熟妇搡BBBB搡BBBB| 五月天停停成人网| 五月丁香 啪啪| 亚洲激情在线| 精品一区二区三区四区五区六区介绍| 噜噜噜噜婷婷五月天| 丁香婷婷五月综合| 亚洲在线操| 婷婷欧美激情综合| 91啪啪视频| 成人短视频在线观看| 丁香五月性| 99re在线观看| 欧洲亚洲免费视频9| 91九色中文字幕女在线观看| 99热9| 丁香九月婷| 色一区高清| 99久久九九| 五月天激情在线视频| 一点色成人网| 亭亭五月丁香五月天激情| 五月婷婷九| 五月天色区| 色碰干| 激情久久综合| 色婷五月| 超碰在线免费9| 五月婷婷色影院| 99ri在线| 91黄色五月天视频| 大香蕉五月天婷婷| 五月丁香六月婷婷手机无线| 开心五月激情网| 五月色婷婷AV| 九色视频91| 九九色色| 丁香婷婷五月天激情四射| 丁香五月激情天AV无码| 色播五月综合网| 97人人超| 思思99久久| 精品国产va久久久久久久| 久久五月天精品视频| 日本三级日本三级99| 婷婷AV丁香| 色yeye色综合| 激情四射亚洲| 久热九九| 日本九婷婷| 人人色性网| 一区三区视频有限公司| 九九9久九9国产视频| 开心激情站| 丁香婷婷激情五月| 综合久久97| 五月婷视频| 色五月色五天色情网| 天天舔天天| 五月婷在线影院| 中文成人在线| 99热这里只有精品免费| 另类图片激情五月| 韩国激情五月天综合网| 99热骚货| 激情五月天之六月婷婷| 日韩免费乱轮网站| 五月丁香六月婷| 91怕怕网| www.99.色| 婷婷五月天小说网| 51XX午夜影福利| 五月婷婷精品无在线| 91色婷婷综合久久中文字幕二区| 大香蕉久久婷婷精品综合| 熟女人妻一区二区三区免费看| 九九综合| 久久丁香综合| 99色在线视频| 丁香六月激情综合| www.com五月天| 色婷婷欧美在线| 色婷婷综合久久久久| 色站9/| 五月天电影网| 777精品久无码人妻蜜桃| 丁香五月久久| 久久久久9| 五月婷婷激情网| 激情小说 五月天| 99rewww| 久久免费9| 激情骚五月| 中文字幕 中文字幕明步| 噜噜噜狠狠色综合| 久热伊人| 天天插综合网| 五月丁香激情啪啪| 99re6在线视频精品免费| 综合色播| 一本大道嫩草AV无码专区| 91色婷婷综合久久中文字幕二区| 九九色图| 热久精品| 无码激情AAAAA片-区区| 精品人妻午夜一区二区三区四区| 黄网在线免费| 久久婷五月影院| 国产偷人爽久久久久久老妇APP| 啪啪啪综合网| 人妻丰满精品一区二区A片| 99热这里只有精品青草| 久热免费视频| 中文字幕丰满孑伦无码专区| 亚洲狠狠爱婷婷| 国产精品第一国产精品| 狠狠CAO日日穞夜夜穞AV | 成人羞羞啪啪 全 视频| 激情婷婷狠狠干| 五月情四婷婷| 天天操天天草天天草天天| 狠狠干五月丁香| 五月六月丁香婷婷在线观看| 五月婷深深爱激情网| 婷婷五月情色| 天天婷婷色六月| 天天色综合图片| 天天爽免费视频| 精品A√| 天天爽天天做| 久久综合影院 | 日日噜狠狠色综| 五月婷婷另类| 中文字幕精品推荐免费在线观| 99精品国产在热久久| 国产精产国品一二三在观看| 婷婷激情五月天激情小说| 91怕怕网| www.五月婷婷久久.com| ,99视频久久| 亚洲婷婷丁香五月天激情小说| 一个色的综合| 丰满熟女人妻一区二区三| 五月婷婷天天| 涩综合婷婷| 婷婷五月天成人| 色色网站毛片| 精品亚洲国产成AV人片传媒| 天天做天天爱天天日| 国产夫妻操逼内射视频| 色色色成人网| 99热精品中文字幕| 九九久久9 9在线观看| 婷婷五月天涩涩| 欧美日韩成人在线网| 色婷丁香| 婷婷五月图片小说网| 久久婷婷综合五月趴| 大香蕉99热| 久久久97| 久久婷婷丁香视频网| 色婷婷亚洲| 综合色天天| 婷婷六月五月天综合| 美女天天爽| 我爱大香蕉| 色综合久| 天堂成人久久| 色色色色av777| 天天插综合| 日本三级日本三级99| 伊人五月天| 99久久高清视频| 激情综合区| 天天色伊人| 欧美黄色AA片哗啦啦啦| 五月天激情视频| 大香蕉伊人丁香五月| 99手机在线精品视频| 激情久久四色| 九九精品热播| 97日本在线播放| 亚洲色在线观看| 99网| 91九色精品女同系列| 婷婷瑟五月天久久综合| 久久多色| 九九热99久久99| 丁香五月天AV在线| 99色热视频在线| 激情六月婷婷| 婷婷五月综激情| 中文字幕日韩无码制服诱或| 九九色影院| 综合久久五| 操操国产| 五月丁香六月激情在线| 国产做爰视频免费播放| 五月婷婷在线短视频| 91精品综合久久久久久五月丁香| 亚洲V国产V欧美V久久久久久| 加勒比日本一区二区三区| 五月婷伊人| 99啪啪网| 9色免费网| 婷婷久久婷婷色五月| 色综合色色色| 婷婷丁香久久网| 五月天婷婷三级黄| 亚洲激情AV| 在线sebiav精品视频| 狠狠艹狠狠艹| www.yw尤物| 伊人大蕉香| 激情黄色五月天| 丁香五月激情婷婷| 五月激情射| 丁香五月激情澎湃一区| 亚洲欧洲另类| 丁香婷婷五月天校园春色| 色婷另类| av在线免费网站 | 91久久电影| 偷拍99在线视频观看| 婷婷基地成人五月天| 97热这里精品在线视频| 大天天伊人| 深夜A片| 99精品免费欧美小视频| 一点色成人网| 678五月丁香亚洲综合| 天天草天天爽| 99久久丝| 99热精品在线观看| 热的国产,热的综合,热的有码| 色婷婷狠狠18禁| 草草影院爱爱| 久久草中文日韩欧美| 超碰A V在线| 五月天堂在线| 青青久久五月天丁香婷婷| 26uuu国产精品| 亚洲综合色网| 激情五月综亚网| 97色婷婷| 久久五月天黄色五月天色网址| 99免费在线视频| 7超碰自拍| 天天日天天爽| 日韩色久| 777色色色| Av九九| 欧美三级欧美一级| 久久99久久99精品免视看婷婷| 丁香六月久久| 丁香六月婷婷综合色| 五月天婷婷激情小说电影| 在线中文av| 久久草大香蕉| 99热99思午夜精品| 久久婷婷六月综合国际| 天天综合在线网| 婷婷性爱综合| 久操无码| 欧美va视频不用播放器的va视频网| 五月丁香婷婷综合| 亚洲AAA| 五月天开心色色网| 丁香五月天激情视频| 午夜免费高清AV片| 色婷婷丁香| 亚洲超碰在线| 欧美在线| 五月花激情| 色色色色色色五月婷婷| 日韩成人网址| 丁香五月亚洲无码| 婷婷五月超碰| 亚洲色啪| 激情综合网,婷婷五月天| 欧州婷婷五月天综合| 丁香五月六月婷婷殴美综合| 超碰在线免费9| 五月激情综合网| 婷婷五月天受日本法律保护| 99综合五月免费视频色婷婷| 热99在线精品| 狠狠88综合久久久久噜噜噜| 久久玖玖99| 久久草大香蕉| 麻豆WWWCOM内射软件| 天天肏天天爽夜夜爽| 日本网站久久| 欧美99| 桔色成人官方网站| 久久九九精彩| 激情五月婷| 五月婷婷激情综合拍| 2005天天干天天1| 99热亚洲| 色色色色av777| 最新久久99视频网站| 六月丁香色色| 色久五月| 丁香五月天黄色片| 亚洲免费综合一区| 亚洲AV网站| 亚洲五月六丁香激情| 色99xx| 亚洲成人一区| 狠狠狠夜夜夜| 噜噜色五月| 黄色网址五月婷婷| 国产亚洲在线| 婷婷综合精品视频97| 久久人人超| 99国产精品白浆在线观看免费| 天天天久久人人人合| 久久99久久99久久99人受| 丁香网五月天| 九九热精品| 日本成人小说婷婷六月| 日本老女人黄页在线播放| 青青草伊人婷婷| 婷婷五月丁香欧洲| 五月丁香六月婷婷手机无线| 色播丁香| 久热黄色| 91主播在线| www99热| 99热这里只有精品国产首页| 二人电影免费版在线观看| 丁香五月欧美婷婷| 亚洲V国产V欧美V久久久久久| 色综合激情| 天天日天天插天天操| 激情婷婷五月天丁香| 亚洲色热| 特黄三级片| 欧美超级视频97| 婷婷综合激情| 第四色激情网| 色噜噜狠狠色综无码久久合欧美| 99精品爱| 亚洲综合新99视频| 在线成人网站| 人橾人| 涩丁香| 色五月激情五月| 天天干天天操天天拍| 亚洲视频丁香网va| 激情欧美婷婷| 国产操B视频| 婷婷五月丁香色色| 久九男女天堂| 婷婷久久五月| 中文字幕成人| 碰碰女| 五月丁香中文字幕| 丁香五月五婷| 色五月天视频| 艹| 婷婷六月丁香在线| 天天操天天爱天天日| 色老久久| 天堂久久婷婷| 极品另类| 4399高清无码视频| 9热久久| seuuu婷婷| 成人做爰A片免费看视频| 九色91视频| 俺去也婷婷| 懂色AⅤ| 亚洲AV无码久久精品色欲| 开心婷婷中文字慕| 五月丁香六月色婷婷综合五月天| 开心五月婷婷五月| 久久五月天激情美女| 亚卅毛片| 日本三级日本三级三级人妇四虎| 六月撸婷婷| 久久久久婷 | 怡红院一二三| 亚洲情欲| 综合婷婷五月天| 婷婷五月激情天| va亚洲中文在线| 色婷婷色五月综合| 99热这里只有精品最新| 五月丁香六月婷婷的女人| 青青草婷婷综合五月| 人妻videos人妻高清| 欧美天天五月丁香免费观看| 很操日本7| 色五月视频无码播放| 色插综合网| 亚洲婷婷丁香五月亚洲| 五月丁花色综合网| 曰日爽日日操| 五月花婷婷| 狠狠操狠狠插| 日韩久久视频| 婷婷五月在线观看| 密着浓厚中出乚交尾GvG935| 91男人资源站| WWW·色色色·COM| 色综合久久天天综合网| 人人干天天舔| 狠狠干青青草| 婷婷激情五月天激情| 99re这里| 成片免费观看视频大全| 九九Av| 色伦专区97中文字幕| 精品国产一区二区三区四区阿崩 | 思思热热久久| 99爱这里只有精品免费视频| 日韩成人AV在线播放| 成人婷99最新| 超碰99在线| 欧美色片中文字幕久久久久| 色婷综合| 91热在线| xxx综合在线| 天天综合网亚洲网站| 天天爱天天做天天| 婷婷午夜| 免费亚洲成人电影AV| www.zbzhongsen.com| 五月婷婷六月丁香激情综合网| 五月婷丁香| 好好日激情五月天| 9l视频自拍九色9l黑人| 久久伦乱| 国产永久一二一起草| 色婷婷丁香五月| 另类婷婷丁香| 九九精品婷| 五月婷婷丁香啪啪| 26uuu四色| 男人大jjc女人免费视频| 伊人五月天婷婷| 欧美婷婷九月| AV性爱在线| 色婷綜合网| YW无码| 玖玖在线| 6080av| www.爱婷婷.com| 亚洲综合99| 亚洲色色图片| 久久婷婷五月激情综合| 亚洲精品一二三| 夜夜爽77777妓女免费下载 | 中美日韩成人在线| 97久久视频| 五月丁香激情四射| 99自拍网| 99热免费精品热久久66| 天天开心婷婷丁香五月| 精品一区二区三区四区五区六区介绍| 五月婷丁香花| 五月天六月天| 开心综合激情综合| 婷婷丁香小说| √天堂资源在线人妻熟女| 色色色com| 婷婷五月天在线视频网站| 色情婷婷五月天| 99区视频| 99re热99| 久久99免费视屏| 99热这里只有精品9| 五月天成人在线播放丁香| 91丨九色丨熟女丰满| 婷婷五月花| 色激情五月天| 五月深爱激情网| 五月丁香美女视频| 久七香蕉| 中文超碰视在线| 婷婷大香蕉| 五月婷婷丁香网| 亚洲区在线| 久久久九九视频精品18| 丁香六月婷婷综合激情欧美| 色国产五月| 丁香婷婷在线| 婷婷人人操| 激情99| 亚洲精品白浆高清久久久久久| 九色在线五月婷婷网址| 欧美色色干| 久久视屏这里只有久久| 蜜桃人妻无码AV天堂三区| 久久五月综合| 日韩精品超碰在线观看| 野外99热| 欧美高潮9| 婷婷丁香社区| 久久婷婷影院| 婷婷五月六月| 九九五月天| 人人播| 色五月天本日| 狠狠干五码| 天天摸天天舔天天爽| 久99久在线| 婷婷五月综合色中文字幕| 亚洲成人超碰| jiujiu热在线视频| www,天天干| 五月婷婷基地| www.91.com黄| 九九在线这里只有精品视频| 亚洲精品视频在线| 大香蕉Av在线| 丁香五月婷婷成人网| 操操天堂| 99热官网精品在线| 五月色欧洲| 9 9热这里有精品| 久久A极片| 四川BBB搡BBB搡多人乱亂| 操一操干一干| 五月综合久久| 日本高清久久| 国产午夜成人AV在线播放| 久久丁香五月天| 五月丁香六月婷| 激情开心五月天| 夜夜谢天天干| 五月丁香啪啪啪| 天天干天天拍| 一区二区三区四日本| 成人.在线日韩| 婷婷 激情 五月| 天天插综合| 精品一二三区久久AAA片| 久久婷丁香五月| 六月丁香婷婷五月| 婷婷久久色五月婷婷久久久| 五月天婷婷自拍图片在线观看| 狠狠爱婷婷爱| 18久久| 久久精品亚洲一级牲爱综合 | 五月天激情四射网站| 香蕉视频91| 激情骚五月| 人妻激情视频| 超碰在线99| 久久婷婷成人视频| 婷婷五月天日日日干干干| 六月色丁香中文字幕| 激情五月开心五月丁香五月| 999精品乱码77777| 久久九九综合| 九九色播五月丁香| 丁香成人五月天| 色色婷婷五月天| AV成人在线网站| 天天色五月婷婷91久久久久久久| 99久久99久久| 天天舔天天摸天天透| 国外亚洲成AV人片在线观看| 五月天伊人日日噜影片AV| 五月天综合在线| 99热这里只有精品268| 九九热av| 99久久婷婷| 日日夜夜狠狠| 五月丁香天堂网婷婷| BBWCUCKOLD精品熟妇| 婷婷丁香成人在线视频| 牛牛澡牛牛爽| 性av| 97色操| 亚洲成人色五月婷婷综合| 激情综合网,婷婷五月天| 亚洲五月花| www.操.com| 天天爱天天天射AV| 91干| 婷婷丁香五月综合网上| 精品久久久人妻| 五月天天丁香婷婷| 五月天婷婷av| 青草少妇激情| 五月天激情小说| 婷婷丁香综合色AV| 激情婷婷五月女| 婷婷中文无码| 婷婷五月丁香综合| 久草五月天电影网| 一区二区三区XXXXXX| 大香蕉婷婷丁香视频在线| 丁香五月婷婷狠狠色| 1000部毛片A片免费观看| 1995年关宝慧版蜘蛛女| 狠狠色丁香久久| 亚洲精品视频在线播放| 久久人妻在线| 激情综合九月| 精品人妻在线| 色久婷婷网| 91色色色18| 色综合婷婷99| 狠色狠色狠色狠色狠色网| 色哟哟精品| 久久久噜噜噜操操操| www久久五月com| 五月天婷婷基地综合网| 婷婷久久欧美| 丁香六月天婷婷色| 99久久极情精品一区| www.com色播五月天| 中文字幕丁香五月| 婷婷五月天视频| 丁香五月婷婷五月| 日本色色色| 日韩99无码| 激情小说视频图片| 思思热视频| 日日色五月天| 996热| 人人干人人操外国| 色狠狠色噜噜AV天堂五区| 九九青草热| 日韩综合大黄| 操国产人妻| 久9热视频| 黄色片久久| 国产精品香蕉| 久久综合99| 激情网第九色| 狠狠狠狠狠狠狠狠| 久草天堂| 色区久久| 五月丁香婷婷啪啪| 97色婷婷| 婷婷六月激情小说网| 97人人看| www.五月婷婷久久.com| 色综合区| 9久视频| 久久伊人婷婷| 黄网在线免费观看| 99精品在线观看| 激情丁香婷婷| 亚洲va成人va成人va在线观看| 五月天停婷基地| jiujiu无码五区| www.丁香五月| 久久之人妻| 亚洲乱码在线观看| 91色九| 另类激情码| 五月天基地| 婷婷五月丁香激情图片 | 久久婷婷五月丁香网| 99噜噜噜| 狠狠爱五月婷婷| 亚洲综合新99视频| 另类小说五月天| 婷婷日| 国产五月视频| 狠狠激情五月天| 五月婷天堂视频| 欧洲色| 爆乳熟妇一区二区三区爆乳| 婷婷五月天久久久| 人人人人人人人人人草| 97久久婷婷色| 人人操人人干AV| 婷婷91| renrencaoni| 777精品久无码人妻蜜桃| 色五月婷婷婷婷| 任你搞在线观看视频| 99国产精品久久久久久久久久久| 色五月婷婷很很操| 婷婷五月天首页| 婷婷丁香色五月久久88| 午夜丁香五月天综合| 激情丁香图片| aa久久| 狠狠五月天| 精品一二三区久久AAA片| 色99综合色88| 97热久久| wuyuedingxiang99| 婷婷五月天亚洲综合网| 99网| 五月在线| 亚洲激情高潮| 中文在线成人| 亚洲色五月| 天天做天天爱天天综合网| 五月天激情四射网站| 天天天天天天操| 婷婷五月天激情AV影院| 五月丁香综合在线| 久久性爱视频这里只有精品| 久久 婷婷 五月天| 色伦专区97中文字幕| 婷婷爱五月天| 婷色成人| 婷婷欧美激情综合| 婷婷色色亚洲| 另类综合激情| 人人摸人人干人人做| Av大香蕉| 婷婷色操| 五月天色导航| PORNY九色9l自拍视频成人| 丁香六月综合激情| 丁香五月网| www.久久五月天.com| 深爱激情综合网| 激情图片五月天| 九九色插| 99爱免费在线观看| 超级碰碰91| 五月天大香蕉av| www.99婷婷| 五月婷婷综合色拍| 大伊香蕉玖玖爱| 大香蕉 婷婷| 26uuu在线观看| 激情网五月| 噜噜噜噜在线| 久思思久视频| 国产精品操| 婷婷天天五月天| 开心五月激情网| 亚洲最大在线| 五月婷婷成人| 免费视频这里只有精品| 丁香六月中文| 99精品久久| 99久久97久久欧美综合网| 婷婷五月激情基地| 国产午夜精品AV一区二区麻豆| 在线观看亚洲视频影院| 香蕉AV777XXX色综合一区| 久久怕怕视频| 激情婷婷五月天丁香| 色播五月丁香综合| 六月天婷婷| 五月天婷婷激情小说电影| 色开心五月婷婷丁香HD| 欧洲日韩一区二区三区| 日日日日日| 综合激情在线视频| 激情五月丁香六月综合AVXXXX| 国产精品成av人在线视午夜片| 亚洲丁香婷婷五月天综合色| 亚洲99热| 色啪影院| 亚洲最大视频| 亚洲激情四谢| 大香网伊人久久综合| 狠狠操狠狠爱| 五月丁香婷婷啪啪| 在线中文av| 九色PORNY自拍成人精彩视频| 99激情| 天天做天天爽| 在线视频激情网站| 99热官网| 日本女人久久| 日本三级中国三级99| 色偷偷色婷婷| 99在线精品视频| 99热主页日本| 狼人久草| 99精品在线观看| 综合五月婷婷| 免费观看18视频网站| 1000部毛片A片免费观看| 99久久9| 精品牛仔裤超碰| 99操无码视频观看| 色色吧综合| 天天爽天天操| 深爱开心五月天| 五月丁小婷婷激情四射| 久久66成人网站| 99国产欧美视频| 久久人妻视频| 91超碰人人操| 天天干天天插| 99热777| 99久久色| 久久综合激情| 色婷婷最爱五月| 欧美日韩成人| 操97| 96精品成人无码A片观看金桔| 人人摸人人操人人爱| 日本nghangse中文字幕| 九色激情网| 99热九九这里只有精品| 99热99精品在线观看| 丁香五月伊人| 182TV大香蕉| 婷婷综合欧美| 婷婷丁香亚洲五月天| 最新丁香六月婷婷| 啪啪99| 欧美色五月| 激情综合视频| 色婷久九| 5月丁香综合网| 日本久久爱| 综合啪啪| 七七婷婷综合| 九九色院| 激情综合九| 黄色AAAAA| 先锋五月婷婷丁香草草| 最新无毒无码AV| 日本久久性| 五月婷婷,六月激情| 亚洲色婷婷久久99精品91| 久久机热/这里只有精品| 国产精品蜜臀99| 婷婷五月大香蕉| 99ER热精品视频| 琪琪色五月天| 热99这里只有精品视频| 久久女人天堂| 亚洲精品**不卡在线播he| 欧美日朝成人| 五月婷六月婷婷| 国产伊人五月天| 九九热在线99| 丁香五月天婷婷激情| 久久久久久9热不雅视频| 色情五月综合婷婷| 这里只精品热在线18| 激情五月天色色网| 丁香狠狠色婷婷久久无码视频| 丁香六月婷婷开心| 国产精品激情五月天色婷婷| 东京热免费视频| 超级碰 久久9| 成人va在线观看视频| 婷五月天| 久久人妻熟女一区二区 | 99精品亚洲| 婷婷综合久久| 五月激情射| 九九免费在线视频| 大香蕉AV在线| 婷婷久久图片| 亚洲婷婷五月天激情综合| 天天日天天做天天操| 91天天操天天干天天射| 色婷婷91| 91日综合欧美| 涩丁香91| 懂色av粉嫩av蜜臀av| 六月婷婷色综合| 91人妻人人做人碰人人爽九色| 久色欧美| 五月婷婷网五月在线| 五月天天天开心激情网| 九九九这里只有精品| 五月婷婷影| 五月天丁香综合在线| 沈娜娜av| 九九九九九九热| 碰超亚洲| 亚洲五月天伊人| 九九热这里| 色婷婷超碰| 婷婷激情小说| 久久五月丁香综合| 天天色色婷婷| 国产做A爰片毛片A片美国| 激情综合久久| 久久精品系列| 天堂网啪啪| 日本色视| 国产婷婷五月| ji'qi'luan'ren'lun| 色五月婷婷在线观看第一页舔| 第2色五月婷| 99热久| 综合久久综合久久| 99视频激情四射| 91精品丝袜久久久久久久久粉嫩| 五月激情网综合| 无码视频国内精品久久久| 久久99热这里| 极品少妇XXXX精品少妇偷拍| 婷婷五月丁香四射| 久久久久亚洲AV综合| 免费视频在线观看的网站| 亚洲九N| 五月丁香婷婷伊人日韩| 久久久9久| 人妻五月天激情开心网| 99在线视频资源| 色香蕉影院| 青青热久久综合| 六月丁香综合999| 欧美综合在线五月天色婷婷| 久久性爱视频这里只有精品| 亚洲激情综合| 五月天com| 亚洲电影在线观看| 九九九九成人| 色99在线观看| 亚洲婷婷在线播放十月| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 91 九色 入口| 神马欧美精| 任你爽精品免费视频6| 久久9久| AV伊人青草丁香六月| 五月丁香啪啪网| 人妻内射麻豆视频| 色五月激情五月| 99热99re6国产在线播放| 免费观看高清无码| 九九热在线观看视频| 色在线99| 99精品在线观看视频| 色色色精品无码区| se色婷婷视频| 丁香婷婷五月天在线视频| 久婷婷色| 99热6精品| 美女要搞搞天天搞搞搞网站| www日本熟妇99在线视频| 亚洲这里只有精品| 亚洲成人网在线观看| 色婷婷丁香五月综合| 五月婷婷六月丁香综合| 97 A I色色| 色婷婷狠狠18yy| 亚洲成人网站在线观看| 亚洲色a| 91色五月| 无码字幕中文| 婷婷五月天在线看| 黄色激情五月天| 色婷婷久久| 久久久中文| 日本99热| 婷婷五月天激情诱惑| 色婷婷五月色| 亚洲精品V天堂中文字幕| 亚洲视频伍月婷婷| 99久久综合网| 亚洲AV成人无码精品| 丁香五月婷婷亚洲色图| 六月色日韩| 九九色情网五月天| 久久丁香五月| 狠狠干综合网| 五月婷婷免费在线| 99@久久@99精品视频| www.99婷婷| 久热这里只有精品99re,久热这里只有精品7 | 五月丁香影院| 五月婷婷丁香五月亚洲色| 色级婷婷| 天天草天天爽| 五月天婷婷社区| 激情深爱综合| 九九九九九九毛片| 国产精品人人做人人爽人人添| 激情五月天在线视频| 九九熱最新視頻| 亚洲视频在线观看区| 久久久精品色| 亚洲成人噜噜| 亚洲午夜精品久久久久久人妖| 亚洲韩国日产综合AV| 亚洲色婷婷五月天| 99热久| 激情五月亚洲综合网| 插逼综合网| 美女婷婷激情亚洲| 久久婷婷五月综合| 狠狠草狠狠草| 人人综合五月人人婷婷| 综合激情五月丁香| 五月丁香婷婷基地| 五月婷婷香蕉| 天天色天天射天天日| 久9热在线免费观看| 91丨九色丨东北熟女| 久久大香蕉同僚| 色婷婷激情视频| 天天肏屄夜夜爽| 五月丁香花激情综合网| 天天综合天综合久久网| 我爱大香蕉| 天天肏天天肏天天肏| 岛国av电影网站| peg 2区三区四区的| 日韩精品一区二区亚洲AV观看| 亚洲成人日韩无码精品| 九九这里只有精品| 超碰成人电影| 天天操婷婷| 五月天婷婷深深爱| 激情5月婷婷狠狠干| 色欲婷婷五月天| 五月婷婷草| 亚洲情欲久久| 五月天丁香久久综合| 五月丁香婷婷啪啪| 啪啪啪综合网| 伊人www22综合色| AV性爱网| 日日夜夜婷婷| 2025天天操| 射久久丁香五月| 99久久成人| 七七九九色色| 五月天无码| 99啪啪视频| 婷婷五月香蕉| 丁香五月日韩| 日韩高清成人| 亚洲一区国产传媒| 色婷婷五月影院| 久热re在线视频| 日本在线wwww| 激情婷婷五月综合| 九热av| 九九综合网| 亚洲AV日韩AV永久无码网站| 激情影院69| 人操综合| jiujiuxiangjiaowang| 一本久久婷婷| 七七色综合| 九九色黄色| 国产人人操| 五月色激情综合网| 无码一级片| 《久久综合九色综合97婷婷| 婷婷99丁香| 五月天婷婷情色| 美欧日韩国产成人在战| 91成人电影| 婷婷99热| 亚洲综合在线视频| 婷婷五月天受日本法律保护| 久久久久久草黄色片AV在线观看| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 久热伊人在91| 九九视频在线观看| 99色免费视频| 九久9精品| 婷婷综合玖玖五月| AA丁香综合激情| 五月婷婷色吧!| 亚洲、欧美、国产另类笫二区| 思思热99在线视频| 婷婷激情在线| 香蕉大综综综合久久| 99这里有精品视频3| 97色97干| 久热伊人| 色五月开心五月激情五月| 色色网五月激情| 玖玖99婷婷| 夜夜骑福利资源| 欧美一级毛卡片无码| 激情五月色在线播放| 4438全国最大视频成人网站在线观看| 婷婷六月视频| 色碰97| 99热在线只有精品| 色婷婷五月影院| 日本欧美国产| 丁香婷婷网| 99热只有| 加勒比色色| http://www.sd-xiangsu.com/| 激情五月婷在线精品| 成年人最刺激的综合网| 91色色色| 国产精品日本一区二区在线播放 | 7777国产盗摄农村女人| 91刘玥视频在线观看| 琪琪色五月天| 色综合色五月| 激情性爱五月天| 亚洲婷婷视频| 午夜少妇在线观看视频| 99热精品9| 九色porny在线观看激情四射| 97人人看| 丁香婷婷综合五月天| 人人爽亚洲| 婷婷色在线| 色五月婷婷7777| 婷婷九月激情| 五月天电影网| 色玖玖综合网| 国产免费性爱| 97九色视频| 人人操人人妻| 人人草人人爱| 日本三级大片| 五月丁香人妻| 天天色播| 亚洲欧洲另类| 99色视频| 国产午夜一区二区三区| 激情综合网址| 五月激情综合网| 99久在线观看| A在线观看| 丁香六月激情| 26UUU欧美激情一区二区| 天天摸天天透天天舔| 可以看的av网站| 噜噜国产| 五月丁香六月婷婷姐| 无码字幕中文| 六月天六月婷| 色情五月天首页| 五月婷婷综合色啪首页| 婷婷五月丁香五月丁香| 丁香五月天色综合| 狠狠擼综合| 这里只有精品久| 99r这里| 天天搞天天色综合| 亚洲操b| 婷色五月天| 婷婷丁香五月麻豆| 色播五月婷婷| www.色五月| 久久久婷婷五月天| www99精品日韩| 久久99免费视频网站| 久久一级片| 91操片| aaaaaa片| 五月综合影院| 五月丁香六月色| 五月婷婷色色色| 久久99久久99久久99人受| 97碰碰碰免费公开在线视频| 91色性感五月婷婷丁香| 丁香九色不卡aaa| 嫩草视频观看| 久色视频在线| 乱轮A片| 欧美大道不卡| 人妻久久久| 五月婷婷很很色| 免费人人操| 丁香无月在线观看| 婷婷激情欧美| 六月丁丁香| 另类小说五月天| 91妻人人爽人人看片| 2005天天干天天1| 久久99网站| 99re这里只有精品首页| 久久精品只有这| 婷婷五月天伊人网| WwW色婷婷| 六月丁香色色色| 凹凸探花电影| 激情五月婷婷丁香| 婷婷俺去也| 大香蕉 婷婷| 噜噜噜狠狠色综| 色综合久久天天综合网 | 天天狠天天狠| 国产精品色婷婷AV综合色色| 大香蕉久| 狠狠婷婷日韩| 久久99免费视屏| 亚洲精色| 色噜噜狠狠色综无码久久合欧美| 亚洲综合色激情色五月| 色婷婷欧美| 国产婷婷五月天| 99激情视频| 1024亚洲| 婷婷综合网伊人| 久热综合| 91干99| 青草性爱视频| 中文久久婷婷| 国产日韩精品SUV| 五月天激情久久| 婷婷六月五月天综合| h在线看免费版在线看| 超级碰人人操人人干| 亚洲激情图文小说| 日韩一级网站| 5月丁香美女影院| 激情综合自拍五月婷婷色五月| 日日撸夜夜操| 欧美性生交XXXXX无码小说| 丁香激情网| 婷婷丁香小说| 91919191919久久成人视频| 大香蕉九九| 亚洲人成色A777777在线观看| 偷拍丁香九月激情| 久久久久久久综合狠狠综合| 久久超视频| 日美三级| 天天色天天舔天天爱天天爽| 五月婷婷激情综合| av在线观看网站| 婷婷播5月| 超碰色热| 26uuu激情五月天| 天天搞天天爽| 婷婷午夜精品久久久| 色婷婷小说网| 国产精品A片在线| www 五月天 com| 婷婷性爱| 激情文学天天| 久久九九色| 午夜丁香丁香婷婷| 五月丁香啪啪啪啪| 五月天丁香成人社| 思思热视频| 亚洲成人中文字幕| 这里只有精品2| 91久久网站| 天天草天天日| 丁香五月五月婷婷欧美大香蕉| 天天爽天天日人人爱| 色五月婷婷丁香五月| 丁香九九九九| 99色干| 丁香五月91| 久久色婷婷| 丁香五月婷婷啪啪啪| 五月色网| 久久色婷婷| 成人精品在线观看| 婷婷丁五月| 久久99精品视频| 国产精品久久在线观看技巧| 99这里只有精| 快乐婷婷五月天| 九九热九九| 五月丁香拍拍激情综合| 免费三级黄色| 五月婷婷综合潮喷| 人人草碰|