久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

YOLOv8s結(jié)構(gòu)化剪枝實(shí)戰(zhàn):從稀疏化訓(xùn)練到部署加速

YOLOv8s結(jié)構(gòu)化剪枝實(shí)戰(zhàn):從稀疏化訓(xùn)練到部署加速 先講一個(gè)我前陣子真實(shí)遇到的部署場(chǎng)景。模型用YOLOv8s在GPU上訓(xùn)得漂漂亮亮精度也在線可一旦挪到邊緣盒子上單幀推理直接干到四十多毫秒真到了要拼實(shí)時(shí)性的時(shí)候幀率死活穩(wěn)不住。調(diào)NMS、降分辨率、換解碼方式折騰了一圈效果都有限最后真正把時(shí)延壓下來的是剪枝。剪枝這個(gè)詞大家都不陌生可一旦落到Y(jié)OLOv8s上情況就跟網(wǎng)上一堆舊教程里的YOLOv5源碼完全不一樣了。yolov8s在結(jié)構(gòu)上把C3換成了C2fdetect head也改成了decoupled結(jié)構(gòu)直接把v5時(shí)代的剪枝腳本搬過來十有八九跑不通。我花了大概兩周時(shí)間把整條鏈路完整跑通從稀疏化訓(xùn)練、通道裁剪、結(jié)構(gòu)重建到微調(diào)恢復(fù)精度全部基于ultralytics YOLOv8s源碼改造。這篇博文就是把一套能落地的yolov8s剪枝源碼思路拆開來講每一步為什么要這么做核心代碼應(yīng)該寫在哪有哪些坑我替你先踩過了。內(nèi)容適合已經(jīng)在用YOLOv8做項(xiàng)目、對(duì)PyTorch不陌生、但還沒系統(tǒng)接觸過模型壓縮的開發(fā)者。1. YOLOv8s結(jié)構(gòu)解析先弄清楚算力燒在了哪里1.1 YOLOv8s各模塊的算力分布剪枝之前我建議你先別急著翻代碼而是花半天時(shí)間把你手里這個(gè)模型的算力分布看明白。YOLOv8s在640×640輸入分辨率下總計(jì)算量約在28GFLOPs左右參數(shù)量約11.2M含檢測(cè)頭。這個(gè)體量在YOLOv8家族里屬于small檔看起來不大但對(duì)邊緣設(shè)備來說依然偏重。從結(jié)構(gòu)上看YOLOv8s由三大部分組成Backbone負(fù)責(zé)從輸入圖像提取多尺度特征Neck是PAN-FPN結(jié)構(gòu)負(fù)責(zé)把不同層的特征融合起來最后是Decoupled檢測(cè)頭分別輸出分類和回歸分支。我自己的實(shí)測(cè)統(tǒng)計(jì)里Backbone占據(jù)了接近一半的計(jì)算量Neck占了剩下三分之一左右檢測(cè)頭因?yàn)榇罅渴褂?×1卷積FLOPs占比其實(shí)沒有想象中高。這里要重點(diǎn)說的是Backbone和Neck里大量的3×3卷積。對(duì)邊緣設(shè)備而言3×3卷積在CPU和多數(shù)NPU上都是計(jì)算熱點(diǎn)剪掉一層輸出通道省下的時(shí)間非常可觀。所以剪枝的核心目標(biāo)很明確把你的裁剪預(yù)算優(yōu)先花在Backbone和Neck的C2f模塊上檢測(cè)頭做一個(gè)克制的輸入通道裁剪即可最后的輸出層盡量保持不動(dòng)。1.2 C2f的split機(jī)制剪枝時(shí)為什么比v5麻煩YOLOv8s和YOLOv5s在結(jié)構(gòu)上最大的變化就是C3換成了C2f。C2f模塊里有一個(gè)很關(guān)鍵的split操作def forward(self, x): y list(self.cv1(x).chunk(2, 1)) # 沿通道維度對(duì)半拆開 y.extend(m(y[-1]) for m in self.m) # 后半路依次經(jīng)過多個(gè)Bottleneck return self.cv2(torch.cat(y, 1))cv1先把輸入通道映射到2c然后沿通道方向?qū)Π氩鸪蓛煞?。前半份直接送去concat后半份經(jīng)過一組Bottleneck之后再送去concat最終由cv2把(n1)c壓縮回目標(biāo)輸出通道。這個(gè)split機(jī)制直接導(dǎo)致了一個(gè)問題C2f內(nèi)部所有分支的通道組必須保持對(duì)齊才能保證最終concat之后通道位置嚴(yán)格對(duì)應(yīng)。如果照搬YOLOv5時(shí)代的“逐個(gè)BN層剪γ”方案幾乎必然在C2f模塊的torch.cat處報(bào)shape mismatch或者更隱蔽的——通道錯(cuò)位。我在寫剪枝源碼時(shí)把C2f當(dāng)成一個(gè)整體去生成統(tǒng)一的通道m(xù)ask而不是單獨(dú)處理每個(gè)Bottleneck這一點(diǎn)是YOLOv8s剪枝區(qū)別于v5的核心難點(diǎn)后面會(huì)專門講。1.3 結(jié)構(gòu)化剪枝與非結(jié)構(gòu)化剪枝想清楚再動(dòng)手模型剪枝分為兩大類非結(jié)構(gòu)化剪枝unstructured pruning剪的是單個(gè)權(quán)重稀疏度分布不均勻模型文件里全是零值但通用硬件上幾乎得不到加速收益除非配套稀疏矩陣專用庫(kù)。結(jié)構(gòu)化剪枝structured pruning以通道或?yàn)V波器為基本單位整體裁剪直接改變卷積層的輸入輸出維度任何推理框架都能拿到實(shí)實(shí)在在的加速。我見過不少朋友把SparseGPT這類非結(jié)構(gòu)化方案用在YOLOv8s上精度保住了但導(dǎo)出到TensorRT或ONNX Runtime之后推理速度紋絲不動(dòng)。原因很簡(jiǎn)單民用級(jí)硬件基本不為稀疏權(quán)重做優(yōu)化。所以你如果目的是部署加速直接選結(jié)構(gòu)化通道剪枝不要去碰非結(jié)構(gòu)化路線。2. 剪枝方案選型基于BN層γ系數(shù)做通道重要性判斷2.1 Network Slimmingγ系數(shù)就是天然的通道重要度指標(biāo)通道剪枝要回答一個(gè)核心問題怎么判定哪些通道不重要最經(jīng)典也最省事的方案是ICCV 2017年的Network Slimming方法。它利用的是卷積層后面那個(gè)幾乎被人忽略的BatchNorm層。BN層的計(jì)算公式是y γ * (x - μ) / √(σ2 ε) β其中γ和β都是可學(xué)習(xí)的仿射參數(shù)。γ是縮放系數(shù)如果訓(xùn)練后某個(gè)通道的γ變得非常接近0那么該通道的輸出就幾乎恒定在一個(gè)由β決定的固定值上信息量趨近于零這個(gè)通道就可以被安全地剪掉。關(guān)鍵就在于普通訓(xùn)練得到的γ數(shù)值分布不夠“極端”很多通道的γ值都落在0.5到1.5之間你沒法說誰更重要。所以需要人為給γ加上L1正則約束讓它稀疏化。訓(xùn)練時(shí)的總損失從L變成L λ * Σ|γ|其中λ是稀疏化懲罰系數(shù)。這個(gè)正則項(xiàng)會(huì)鼓勵(lì)γ往0靠攏訓(xùn)練結(jié)束后γ的分布會(huì)形成明顯的雙峰一堆極度接近0剩下的保持相對(duì)大的數(shù)值。普通訓(xùn)練后直接按γ剪和稀疏化訓(xùn)練之后按γ剪效果差別非常大。前者誤傷率高剪完精度掉得一塌糊涂微調(diào)也救不回來后者才能精準(zhǔn)識(shí)別出真正冗余的通道。這是整個(gè)剪枝方案成立的前提千萬別跳過。2.2 為什么不考慮低秩分解和基于梯度的通道評(píng)估你可能還會(huì)看到一些方案用通道注意力權(quán)重、梯度敏感度或者低秩分解來選擇剪枝通道。低秩分解能把卷積核拆成小矩陣序列但從工程角度講拆完之后的模型結(jié)構(gòu)要重寫底層算子才能發(fā)揮加速效果和普通推理框架的兼容性很一般。基于梯度的方法是更精細(xì)的敏感度分析但要在每個(gè)剪枝候選上做一次反向傳播算力開銷不低性價(jià)比反而不如γ稀疏化。對(duì)YOLOv8s這種層數(shù)不算極端、結(jié)構(gòu)相對(duì)規(guī)整的模型來說γ系數(shù)方案是平衡效果與工程復(fù)雜度最好的選擇。它不需要額外訓(xùn)練一個(gè)評(píng)判網(wǎng)絡(luò)不需要逐層搜索敏感度只需要在訓(xùn)練loss上加一個(gè)正則項(xiàng)剪枝時(shí)拿一把全局閾值來篩通道整個(gè)流程完全可控。2.3 開工前的基礎(chǔ)配置我建議你基于ultralytics官方的YOLOv8s源碼來做版本選8.0.x或8.1.x都行但1.x分支之后的代碼結(jié)構(gòu)有些調(diào)整注意保持一致。環(huán)境方面PyTorch 1.13以上、CUDA 11.7以上就行不需要額外裝稀疏計(jì)算庫(kù)剪枝前的稀疏化訓(xùn)練就是常規(guī)訓(xùn)練。另外準(zhǔn)備一個(gè)你自己的、已經(jīng)收斂到可用狀態(tài)的YOLOv8s權(quán)重文件。最佳實(shí)踐是先正常訓(xùn)練到float32的精度峰值再?gòu)倪@個(gè)權(quán)重開始做稀疏化訓(xùn)練不要從頭就在loss里加稀疏正則否則模型收斂速度和精度上限都會(huì)受影響。3. 稀疏化訓(xùn)練源碼改造給YOLOv8s訓(xùn)練循環(huán)加上γ正則3.1 在Ultralytics訓(xùn)練循環(huán)中插入稀疏化損失Ultralytics YOLOv8的訓(xùn)練邏輯集中在trainer.py的_do_train方法里核心循環(huán)對(duì)每個(gè)batch做前向和反向。為了加稀疏化損失我的做法是在trainer里覆寫一個(gè)loss計(jì)算hook。不同版本源碼結(jié)構(gòu)有差異但思路是通用的在模型前向算出的主loss之后、loss.backward()之前加入BN層γ的L1正則項(xiàng)。# sparse_loss.py import torch import torch.nn as nn SPARSITY_LAMBDA 1e-4 def sparsity_loss(model): reg_loss 0.0 for m in model.modules(): if isinstance(m, torch.nn.BatchNorm2d): reg_loss torch.abs(m.weight).sum() return SPARSITY_LAMBDA * reg_loss然后在訓(xùn)練循環(huán)的loss計(jì)算處調(diào)用# 在Ultralytics trainer的_do_train循環(huán)內(nèi) loss, loss_items self.model(batch) # 原有的任務(wù)損失 loss loss sparsity_loss(self.model) # 加上稀疏化正則 self.loss loss self.optimizer.zero_grad() loss.backward() self.optimizer.step()實(shí)際接入時(shí)要注意一個(gè)細(xì)節(jié)Ultralytics在不同版本里對(duì)AMP混合精度和梯度縮放的處理方式不同你需要確保sparsity_loss返回的是一個(gè)普通tensorfloat16和float32的類型轉(zhuǎn)換正確即可。如果加了正則之后出現(xiàn)梯度異常先檢查一下是不是這里的類型沒對(duì)齊。3.2 怎么判斷稀疏化訓(xùn)練到位了稀疏化訓(xùn)練不能瞎跑幾個(gè)epoch就算數(shù)。我訓(xùn)練過程中會(huì)周期性記錄所有BN層γ值的分布。具體做法是寫一個(gè)小腳本加載當(dāng)前模型把每一個(gè)BatchNorm2d的weight.data收集起來然后打印直方圖。你希望看到的分布是明顯的雙峰左側(cè)在0附近聚集大量通道右側(cè)還有一個(gè)相對(duì)較高的峰。如果訓(xùn)練了幾十個(gè)epoch之后γ分布基本沒變化說明SPARSITY_LAMBDA太小了懲罰力度不夠反過來如果γ值幾乎全部壓到了0附近說明λ太大模型表達(dá)能力已經(jīng)被破壞這種狀態(tài)下剪完模型基本廢掉。我自己的經(jīng)驗(yàn)閾值YOLOv8s在COCO風(fēng)格數(shù)據(jù)集上SPARSITY_LAMBDA從1e-4起步每跑30個(gè)epoch觀察一次γ分布不夠稀疏就加到5e-4上限不要超過1e-3。要注意這個(gè)參數(shù)跟數(shù)據(jù)集、batch size都有關(guān)系換數(shù)據(jù)集后必須重新觀察分布不能一個(gè)數(shù)值通吃。3.3 稀疏化訓(xùn)練的完整參數(shù)參考我實(shí)際跑通的一套配置大致如下供參考參數(shù)建議值備注SPARSITY_LAMBDA1e-4 ~ 1e-3以γ分布雙峰為標(biāo)準(zhǔn)稀疏化訓(xùn)練epoch100 ~ 300在預(yù)訓(xùn)練權(quán)重基礎(chǔ)上繼續(xù)初始學(xué)習(xí)率0.01配合余弦衰減批量大小64或32一致即可權(quán)重衰減5e-4保持常規(guī)訓(xùn)練習(xí)慣數(shù)據(jù)增強(qiáng)與正式訓(xùn)練一致盡量保持一致稀疏化訓(xùn)練結(jié)束之后不要急著剪。先保存一份稀疏化權(quán)重然后花十分鐘驗(yàn)證一下加載模型遍歷所有BN層統(tǒng)計(jì)γ絕對(duì)值小于1e-3的通道占比。這個(gè)比例基本決定了你后續(xù)剪枝的性價(jià)比比如占比超過60%說明模型有充足的水分可以擠。4. 剪枝源碼實(shí)現(xiàn)定位BN層、算mask、重建C2f與SPPF4.1 剪枝腳本的完整主流程剪枝腳本是整個(gè)方案的核心工程。我的思路是不直接在原模型對(duì)象上做in-place修改而是新建一個(gè)同構(gòu)的模型通過計(jì)算好的保留通道索引逐層重建最后把新state_dict拷貝進(jìn)去。這樣最安全出錯(cuò)時(shí)可以隨時(shí)回到原始權(quán)重。主流程可以拆成五步加載稀疏化訓(xùn)練好的模型權(quán)重。遍歷模型所有BatchNorm2d層收集γ絕對(duì)值。按剪枝比例算出全局γ閾值。結(jié)合C2f、SPPF、Concat、shortcut的結(jié)構(gòu)約束對(duì)每層生成輸入通道和輸出通道的保留索引。重建所有Conv和BN層把原始權(quán)重按照保留索引拷貝到新層里保存新模型結(jié)構(gòu)和權(quán)重。4.2 單層Conv-BN通道裁剪的基準(zhǔn)代碼先寫最基礎(chǔ)的通道級(jí)裁剪函數(shù)。假設(shè)某個(gè)卷積層后面跟著一個(gè)BN層我們已知輸入通道保留索引keep_idx_in和輸出通道保留索引keep_idx_out需要生成新的Conv和BN。import torch import torch.nn as nn def prune_conv_bn(conv, bn, keep_idx_in, keep_idx_out): # 裁剪卷積層 new_conv nn.Conv2d( in_channelskeep_idx_in.size(0), out_channelskeep_idx_out.size(0), kernel_sizeconv.kernel_size, strideconv.stride, paddingconv.padding, dilationconv.dilation, groupsconv.groups, biasconv.bias is not None ) # 權(quán)重形狀 [out_channels, in_channels/groups, kH, kW] new_conv.weight.data conv.weight.data[keep_idx_out][:, keep_idx_in, :, :] if conv.bias is not None: new_conv.bias.data conv.bias.data[keep_idx_out] # 裁剪BN層 new_bn nn.BatchNorm2d(keep_idx_out.size(0)) new_bn.weight.data bn.weight.data[keep_idx_out] new_bn.bias.data bn.bias.data[keep_idx_out] new_bn.running_mean.data bn.running_mean.data[keep_idx_out] new_bn.running_var.data bn.running_var.data[keep_idx_out] new_bn.num_batches_tracked bn.num_batches_tracked return new_conv, new_bn這個(gè)函數(shù)是整個(gè)剪枝源碼的地基。YOLOv8s里幾乎所有的Conv后面都跟著BN所以只要把每一對(duì)Conv-BN的keep_idx算出來就能用這個(gè)函數(shù)逐層重建。真正難的是keep_idx怎么算尤其是C2f模塊。4.3 C2f的mask對(duì)齊shortcut和concat是兩個(gè)繞不開的約束C2f模塊的剪枝不能只考慮單個(gè)BN的γ值必須把結(jié)構(gòu)約束考慮進(jìn)去?;氐?.2的forward代碼C2f產(chǎn)生的分支輸出最終會(huì)在通道維度上concat因此所有參與concat的分支必須共享同一套保留通道索引否則拼接后通道位置就對(duì)不上了。更棘手的是Bottleneck內(nèi)部的shortcut。Bottleneck的forward邏輯是這樣的x經(jīng)過cv1再經(jīng)cv2如果shortcut開啟且輸入輸出維度一致就把輸入x直接加到輸出上。這意味著cv2輸出通道的保留mask必須和該Bottleneck輸入通道的保留mask一致否則逐元素相加必然維度沖突。所以實(shí)際處理C2f時(shí)我是把整個(gè)模塊作為一個(gè)通道組來對(duì)待def compute_c2f_mask(module, global_threshold): 收集C2f模塊內(nèi)所有相關(guān)BN的γ絕對(duì)值合并出一組通道保留mask。 返回的是一個(gè)與C2f內(nèi)部通道維度等長(zhǎng)的布爾mask。 gamma_list [] for m in module.modules(): if isinstance(m, nn.BatchNorm2d): gamma_list.append(m.weight.data.abs()) all_gamma torch.cat(gamma_list) # 也可以用與全局thr的比較來做但為了保險(xiǎn)推薦按模塊內(nèi)γ中位數(shù) mask all_gamma global_threshold # 需要把所有對(duì)齊約束體現(xiàn)在返回的mask上 return mask更嚴(yán)格的做法是對(duì)一個(gè)具體的C2f把cv1輸出通道對(duì)應(yīng)的γ前c和后c兩部分、每個(gè)Bottleneck里cv1和cv2的γ全部收集起來Reshape成對(duì)齊形狀逐位置取最大值。如果同一個(gè)位置在任何一個(gè)BN里的γ高于閾值就保留這個(gè)位置。這樣可以保證concat和shortcut兩條約束同時(shí)滿足。這段邏輯寫起來確實(shí)繁瑣但它是yolov8s剪枝質(zhì)量的關(guān)鍵。如果你偷懶跳過只按γ排序裁通道裁出來的模型根本沒法前向推理或者loss直接爆掉。4.4 SPPF和檢測(cè)頭的處理策略SPPF模塊在剪枝時(shí)也是個(gè)特殊位置。它內(nèi)部結(jié)構(gòu)是cv1 - 三個(gè)5×5 MaxPool - concat - cv2池化層不改變通道數(shù)concat把4份特征拼在一起。由于SPPF本身沒有BN層不能直接用γ來判斷通道重要性。我采取的辦法是用它前后相鄰的BN層mask來約束配合Backbone主干和Neck的關(guān)聯(lián)mask同時(shí)裁剪cv1的輸出通道和cv2的輸入通道。檢測(cè)頭的處理需要克制。YOLOv8s的檢測(cè)頭是Decoupled結(jié)構(gòu)包含cls分支和box分支box分支還帶DFL輸出維度與reg_max和類別數(shù)綁定。cls和box的最終輸出通道都不能隨便剪否則損失函數(shù)和部署后處理都會(huì)出問題。但檢測(cè)頭內(nèi)部的1×1卷積輸入通道來自Neck這些輸入通道可以跟著Neck的mask一起裁剪。實(shí)際操作中我只對(duì)檢測(cè)頭做輸入通道的同步裁剪輸出通道一律不動(dòng)。5. 微調(diào)與精度恢復(fù)剪完不是結(jié)束重訓(xùn)才是開始5.1 為什么剪完必須微調(diào)剪枝不是在模型文件上做減法那么簡(jiǎn)單。通道被剪掉之后模型權(quán)重從一個(gè)預(yù)訓(xùn)練分布中被硬生生截取了一部分剩余權(quán)重之間的協(xié)同關(guān)系已經(jīng)被破壞。更關(guān)鍵的是BN層的running_mean和running_var統(tǒng)計(jì)量也失效了——它們統(tǒng)計(jì)的是剪枝前通道的分布通道被刪掉后這些統(tǒng)計(jì)值完全沒有意義。如果不微調(diào)剪完的模型幾乎必然在驗(yàn)證集上崩盤。微調(diào)的本質(zhì)是讓剩余通道重新適應(yīng)新的模型結(jié)構(gòu)把損失掉的精度找回來。這一步不能省也急不得。5.2 微調(diào)階段的參數(shù)設(shè)置微調(diào)最忌諱的就是按正常訓(xùn)練的學(xué)習(xí)率來跑。我的一般做法參數(shù)建議值說明初始學(xué)習(xí)率1e-4約為正常訓(xùn)練的1/10學(xué)習(xí)率調(diào)度余弦或階梯下降后期手動(dòng)降一次學(xué)習(xí)率訓(xùn)練的epoch30 ~ 50不需要長(zhǎng)訓(xùn)重點(diǎn)是恢復(fù)而非繼續(xù)提升稀疏化正則關(guān)閉微調(diào)階段不加γ正則BN層保持開啟讓統(tǒng)計(jì)量自適應(yīng)新結(jié)構(gòu)微調(diào)階段不要凍結(jié)BN層。剪枝后BN的統(tǒng)計(jì)量本來就需要重新估計(jì)凍結(jié)它會(huì)讓模型在驗(yàn)證集上表現(xiàn)很差。另外微調(diào)數(shù)據(jù)集建議用訓(xùn)練集的全量數(shù)據(jù)不要只取子集否則采樣偏差會(huì)影響統(tǒng)計(jì)量重估。5.3 剪枝比例與精度之間的取舍參考以一個(gè)在自有數(shù)據(jù)集上mAP約90%的YOLOv8s模型為例參考我的實(shí)操經(jīng)驗(yàn)剪枝比例和精度變化大致如下剪枝比例剩余通道比例參數(shù)量估算mAP變化部署加速效果30%70%約5.5M幾乎無下降約20%~30%50%50%約4.2M下降0.5~1.5個(gè)百分點(diǎn)約40%~50%70%30%約2.6M下降2~4個(gè)百分點(diǎn)約60%~70%85%15%約1.8M大幅下降恢復(fù)困難約75%以上注意這個(gè)表是基于我自己的工程估算不是標(biāo)準(zhǔn)答案。不同數(shù)據(jù)集、不同檢測(cè)難度、不同稀疏化訓(xùn)練質(zhì)量都會(huì)讓數(shù)字偏移。但有一個(gè)規(guī)律是通用的剪枝比例超過50%之后精度衰減會(huì)加速變快微調(diào)挽回的空間越來越有限。部署目標(biāo)很緊的話建議把50%當(dāng)優(yōu)選檔先跑通再繼續(xù)往下壓。5.4 導(dǎo)出部署剪枝與量化疊加的效果剪枝是在結(jié)構(gòu)上減通道量化是把float32換成int8或float16這兩者是正交的可以疊加。實(shí)際上絕大多數(shù)邊緣設(shè)備上真正的大頭收益來自兩者結(jié)合剪枝之后通道數(shù)變少int8量化后的有效計(jì)算量大幅度縮小帶寬壓力也顯著降低。我常用的路徑是微調(diào)結(jié)束之后把剪枝模型導(dǎo)出為ONNX再用TensorRT或OpenVINO做推理優(yōu)化。由于剪枝后的模型已經(jīng)在結(jié)構(gòu)上變窄TensorRT在構(gòu)建engine時(shí)會(huì)自動(dòng)裁剪不必要的計(jì)算實(shí)測(cè)在CPU上使用OpenVINO能比原始模型快2到3倍在NVIDIA邊緣設(shè)備上配合int8量化再疊加一層加速。6. 踩坑實(shí)錄從稀疏化到部署的六個(gè)經(jīng)典問題6.1 SPARSITY_LAMBDA設(shè)太大γ全部歸零我第一輪稀疏化訓(xùn)練就踩了這個(gè)坑。跑了20個(gè)epoch后發(fā)現(xiàn)γ分布幾乎全部塌到0模型輸出的loss還在往下降但驗(yàn)證集mAP已經(jīng)慘不忍睹。排查鏈路其實(shí)很短先打印γ的均值和標(biāo)準(zhǔn)差發(fā)現(xiàn)均值只有1e-5量級(jí)基本確定懲罰過強(qiáng)。解決方法是把SPARSITY_LAMBDA從5e-4降到1e-4重新從預(yù)訓(xùn)練權(quán)重起步訓(xùn)練。記住一個(gè)原則γ稀疏化是讓部分通道趨近0而不是把所有通道都打死分布圖應(yīng)該始終保留一個(gè)非零的峰。6.2 剪完模型loss變成NaN剪枝之后前向推理正常但微調(diào)時(shí)loss直接跳NaN。我排查的思路是先檢查模型輸出的shape是否正常再逐層檢查卷積權(quán)重里有沒有NaN值。最后發(fā)現(xiàn)原因出在剪枝后的某個(gè)C2f模塊它的concat輸入通道被剪成了0導(dǎo)致某個(gè)Bottleneck的輸出是空張量乘到loss上就變成NaN。解決方法是給每個(gè)mask加一個(gè)強(qiáng)制約束任何卷積層的輸出通道數(shù)不得低于預(yù)設(shè)下限比如至少保留16通道。這一步在生成mask的代碼里直接做兜底判斷即可。6.3 shortcut維度對(duì)不上報(bào)size mismatch這是C2f剪枝里最容易出現(xiàn)的問題。報(bào)錯(cuò)信息會(huì)指向某個(gè)Bottleneck的加法操作說兩個(gè)張量shape不一致。根因幾乎都是同一個(gè)沒有對(duì)shortcut兩側(cè)的mask做對(duì)齊。修復(fù)方式是我在4.3里描述過的方案生成mask時(shí)把同一個(gè)C2f模塊內(nèi)所有需要對(duì)齊的位置統(tǒng)一計(jì)算。排查的時(shí)候不要只看報(bào)錯(cuò)的那一層要從這個(gè)C2f的cv1開始順藤摸瓜把整個(gè)模塊的channel流向畫出來再對(duì)照mask。6.4 剪完保存的模型文件反而變大了這是一個(gè)非常迷惑的現(xiàn)象。模型通道數(shù)減小了按理說文件應(yīng)該變小但如果你用torch.save(model)直接保存整個(gè)模型對(duì)象會(huì)有很多冗余——包括模型結(jié)構(gòu)定義、優(yōu)化器狀態(tài)、各類緩存字段。解決方法是剪枝后只保存模型的state_dict或者更好一點(diǎn)把剪枝后的結(jié)構(gòu)寫成一個(gè)新的YAML配置文件再單獨(dú)保存對(duì)應(yīng)的state_dict。這樣剪枝后的模型文件才會(huì)真正反映通道數(shù)的減少導(dǎo)出ONNX后大小也才可信。6.5 PyTorch里測(cè)速?zèng)]有提升覺得白剪了剪枝之后用PyTorch的CPU直接推理發(fā)現(xiàn)速度幾乎沒變第一反應(yīng)往往是方案沒效果。但我排查后發(fā)現(xiàn)這是PyTorch在CPU上的卷積算子對(duì)小通道數(shù)沒有做充分優(yōu)化通道減少了但算子調(diào)度開銷還在。真正的提速必須依靠部署側(cè)的優(yōu)化。把剪枝模型導(dǎo)出為ONNX再用OpenVINO或TensorRT跑一遍速度差異立刻出來了。所以測(cè)速一定要在目標(biāo)部署框架里測(cè)不要在PyTorch里過早下結(jié)論。6.6 state_dict鍵名錯(cuò)亂加載模型報(bào)錯(cuò)剪枝重建模型過程中最容易翻車的環(huán)節(jié)是拼接新的state_dict。因?yàn)榕f模型的鍵名是model.0.cv1.conv.weight這種形式你重建的新C2f層如果命名規(guī)則稍有不同加載時(shí)就會(huì)報(bào)unexpected key或者missing key。我的習(xí)慣是在剪枝腳本末尾加一個(gè)驗(yàn)證函數(shù)把新舊state_dict逐層做形狀比對(duì)發(fā)現(xiàn)不匹配立即打印出錯(cuò)層的鍵名。寧可多花幾分鐘跑校驗(yàn)也別在部署階段才發(fā)現(xiàn)權(quán)重對(duì)不上。最后再分享一個(gè)我在實(shí)操中一直在用的小原則剪枝前一定保存好原始權(quán)重和稀疏化權(quán)重兩份備份每剪完一個(gè)比例立刻做一次完整的前向驗(yàn)證和mAP評(píng)估。剪枝是一個(gè)遞增式的過程不要一次性壓到目標(biāo)比例先剪30%驗(yàn)證流程沒問題再逐步往上加。這樣即便出問題也能清楚地知道是哪個(gè)環(huán)節(jié)引入的回退和重來的成本都低得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色爱综合网欧美| 激情亚洲天堂| 一区二区三区视频| 99精品无码| 精品久久久中文字幕不| 小电影欧美91| 天天综合网AV91| 玖玖人人爱| 欧美精品99久久久**| 漂亮人妻被强中文字幕hd| 成人日本精品九区| 亚洲精品一区中文字幕乱码| 日本在线视频导航| www.91色| 91日本在线观看| 青娱乐日韩无码| 看免费一级在线播放毛片| 岛国999| 欧美久久草熟女| 国产精品老师| 亚洲一本大道中文字幕无码在线| 国内毛片婷婷六月色| 国产一区二区在线播放| 亚洲国产精品无码AV久久| 国产九九九九九九| 男女一进一出视频久久| 人妻欧美| 97在线视频网站| 97欧美资源| 亚洲人人夜夜澡人人爽| 婷婷精品久久av影视| 久久视频少妇美女| 婷婷中文网| 日日夜夜精品| 综合五月婷婷亚洲一区| 激情抓乳插进去啪啪啪日韩| 波多野42部无码喷潮在线观看 | 99热在线播放| 欧美自拍偷拍综合图片| 欧美日韩国产中文精品字幕自在自线| 亚洲激情综合另类男同| 精品欧美А∨无码黑人大荫蒂 | 九九色色| 日本97久久久精品| 98精品国产乱码久久久久久| 夜精品久无码| 视频在线观看青青99国产| 久久久久久久9最新免费视频观看| 污污污8888| 99抽插| 精品乱码久久久久| 色欲av国内精品久久久久久| 国产高清视频无码在线| 岛国黄| 亚洲人妻中文高清| 人人摸人人干| 天天享受天天看| 色综合久久夜色精品国产天堂| 激情露脸爱| 99re在线精品78| 久久9免费视频| 2020天天色综合| 国产9l 大屁股| 91香蕉国产尤物视频| 欧美亚洲国产91在线| 波多野结衣先锋影音| 99精品久久久久久久婷婷| 久久婷婷亚洲| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | ?亚洲伊人伊成久久人综合网| 人人摸人人干人人拍97| 久久手机视直播| 天天射夜夜| 淫纸中9区| 91人人| 91三级理论片播放器| 国产这里只有精品| 91美女视频直播| 91精品无码久久久久久久| 亚洲乱伦图片视频| 99国产精品人妻人伦| 久久中日麻豆| 丝袜足交视频| 欧美午夜视频精品久久| 精品97久久综合| 啊啊啊啊啊啊在线| 91超级碰碰碰| 狠狠干2020| 91天天综合网| 欧美躁死她一区二区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 人人看人人插| 99自拍B亚洲| 大色网久久| 韩国一级婬片A片无码天美| 韩国黄色片精品久久久 | 91在线精品一区二区三区| 久久久久久AV无码免费网站| 91五月天| 100啪啪视频大全| 色婷婷亚洲婷婷| 成人久久久精品| 一区二区三区美女超清| http://qxhbdz.com| 超碰在线在公开超碰在线在公开| 天天操天天干一区二区| 97bbn| 97香蕉网| 亚洲色图超碰在线| 国产后入| 9/A片| 欧美热图99| 一级久久久久久久久久久| 色女99一级片在线观看| 国产无码成人无码| 日本人体九九九九九九| 亚洲福利影院一区久久| 97人妻色| 国产精品白丝| 日韩紧密久久| 午夜a成v人电影| 青青草视频久久久久| 蜜臀久久99精品久久久久| 99热这里只有精品99| 色香综合天天影视综合| 手机在线观看不卡无码av| 久日综合网| 国产91av在线播放| 欧美91色| 色情综合网| 精品熟女呻吟久久91| 久悠悠av| 最新国内自拍av免费| 97se综合网| 天堂俺去俺来也www久久婷婷| 亚州日韩97| 成人八戒网站| 九九这里只有精品| 天堂精品在线| 乱伦a片视频| 日本顶级天天操狠狠操夜夜操中文字幕| 国产一区二区成人av在线播放| 蜜臀亚洲中文| 成人aⅴ一区二区三区| 久久人体一区二区| 亚洲av夫妻操穴网| 中字幕人妻一区二区三区| 欧美少妇第一页| 国产操伦| 99婷婷一区二区| 夜夜福利| 色色99| 日产操逼| 丝袜天堂网| 国产原创自拍| 高清成年美女黄网站免费大全 | 久干9操| 91精品国产长腿丝袜美女| 99精品在线观看| 2021国产成人精品久久| 使劲用力艹少妇视频一区二区| 欧美性爱三区二区| 岛国黄片网站| 欧美午夜熟妇黑人精品91| 翘臀vidoes| 亚欧成人综合影院| 国产又粗又大硬免费色网视频| 久久久久久波多野吉衣高潮| www.婷婷五月天| 国产在线激情视频| 精品国产乱码久久久| 91撸色网 玖玖网 欧美| 99热超碰在线| 亚洲成人av电影在线| 91爱啪| 亚洲性猛| 韩国三级三级BD在线| 亚洲啪啪性视频| 国产操逼视频在线观看| 97在线观看播放视频| 91九色丨风韵犹存| 日韩综合色网| 午夜福利在线合集| 青青操在线亚洲视频观看欧美在线| 国产亚州高清国产拍精| 摸奶性爱视频网站在线免费播放| 日韩十八禁| 亚洲高清少妇| 4虎在线视频| 亚洲码和欧洲精品激情系列| 亚洲欧美精品91| 92午夜免费福利视频| 91久久九九精品国产综合| 男生通女生屁股| 91美女看B| 97超级欧美| 18一区二区三区| 好吊妞转入那个网| 欧美美女自慰一区二区三区| 久久久久久午夜男人的天堂| 一级黄色影片| 婷婷色综合| 五月丁香激情综合网| 久久精品国产72国产精品福利| 中出91| 性欧美天天| 欧美一区二区三区日韩| 国产成人超碰在线| 精品999一区二区| 土豪酒店各种姿势玩弄极品幼稚| 欧美色图天堂网m| 亚洲 欧美都市激情| 欧美很很操视频| 色噜噜人妻丝袜a∨先锋影 | 亚洲色图亚洲无码强奸乱伦| 九九综合久久| 激情五月天婷婷| 一区二区三区精品黑丝白丝酒店对鸡| 五月婷婷六月色| www.色五月| 99久在线精品99re8| 国产1769在线| 激情综合五月| 大香蕉十区| 精品国产72| 男人精品天堂一区| 久久久月天| 九九九九九九九九九国产精品| 九九亚洲| 高清国产无码av| 国产精品无码av在线| 欧美性爱视频免费一区一A| 少妇高潮对白在线观看| 精品人妻美妇91job| 天天天天操| 亚洲日韩肥臀视频在线观看| 人妻爽爽啪视频| 久久9精品网站| 日韩欧美传媒一区国产| 一级婬片120分钟试看| 99re69综合| 天堂亚洲精品久久老牛| 校园春色AV天堂| av毛片aaaaa免费看| 亚洲 日本 国产 综合| 91成人久久| 超碰在线99| 超碰97玖玖爱| 人爽不卡视频| 国产精品麻豆视频网站| 99视频内射三四| 欧美色图片91| 精品日日人妻| 思思热er精品视频| av情色影音| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 久久久久久久久久久久97| 久久久少妇| 黑丝自慰喷水网站| 97超碰色五月| 爱丝福利| 久久精品国产99精品亚洲蜜...| 约操熟妇| 试看福利| 色色毛片| 人妻少妇色综合| 欧美人妻中出| 操国产逼| 亚洲午夜免费狠狠干| 欧美天天综合站| 中文字幕国产精品1区| 青青草视频导航官网| 日韩大香蕉| 成人三级片无码| 四虎免费看黄| 久久天天艹| 精品一区二区三区蜜桃臀赵总| 97超碰人操| 在线观看不卡一区二区三区| 神马视频久久久久久| 日韩97超碰| 超碰在97| 久久亚洲AV无码白度| 综合另类| 婷婷操逼| 九九九久久久W精品| 强奸乱伦大香蕉网| 67914在线兔费成人视频| 欧美aaaaaaa| 97精品97| 视频在线观看免费一区二区三区| 内射黑丝袜| 操www| 欧美日本久久精品一区| 少妇熟女1区2区3区| 91N五十路| 啊啊啊啊嗯嗯在线久久久| 一区二区三区视频在线观看免费| 97人人色| 亚洲图片 91| 99热在线观看| 黑人中出21连凳花野真衣| 欧美一级黄色免费专区| 草久久久| 五月丁香激情综合网| 中韩中文字幕在线观看| 蜜臀久久久久久999| 91爱| 国产精品久久9| 97超碰人人模人人拍人人| 中文字幕在线24| 国产91精品在线免费| 猛交交| 欧美影院一区二区三区| 久久久久9999妇女| 中国探花熟女| 97精品视频| 成人网欧美风情| 日本十八禁免费看污网站| 久久精品国产精品| 青青操青娱乐| 又粗又长又爽在线观看| 人妻精品一区二区| 婷婷在线视频在线观看| 亚洲中字慕不卡| 一本一道人妻久久一区二区三区 | A级在线视频| 四虎AV影视国产精品亚洲精品| 无码聚合| 立川理惠被中出无码| 99婷婷一区二区| 秋霞一区二区三区四区五区六区七区| 婷婷久久五月| 99e久久国产精品| 青久久| 中文字暮97| 无码天天操| 国产suv一区二区三区6| 亚洲欧洲无码一区夜| 狠狠色色| 日本免费一级AAA大片器| 国产怡红院在线| 青青操在线亚洲视频观看欧美在线| 26uuu国产成人综合| 日韩一二三区| 亚洲久久天堂| 粉嫩小泬久久久一区二区| 久热91| 操www| 久午视频| 大香蕉在线SuP| 啊啊啊啊啊在线视频| 91操人| 一本一道vs波多野结衣| 亚洲精品自拍| 久久久久久综合久久伊人蜜月| 另类av综合久久| 97网址www| 91精品黄在线观看| 欧美麻豆成人同性GⅤ在线| 99精品国产户外露出| 天美传媒麻豆一区二区三区国产精| 熟女欧美日韩综合婷婷| 亚洲欧美综合色| 国产亚洲一黄| 超碰免费在线| 国模精品一区二区三区苹果色戒| 亚洲蜜乳av| 以及麻豆国产入口在线观看免费| 国产97在线 | 亚洲| 久久激情四射婷婷丁香五月天| www被窝色com| 欧亚揄拍偷拍精品视频| 精品9区| 久久久av爱| 天天干天天日天天射黄色大片| 九九色色| 天天摸,夜夜摸| 免费视频无码| 美女人妻色网站| 亚洲色图久久精品蜜| 久久伊人大香蕉| 国产成人自拍视频在线| 色999;丁香五月| 欧美综合区| 色爱综合网| 综合五月天| 婷婷综合在线| 久久免费中文字幕在线观看| 狠狠躁AV| 欧美白嫩在线放| 国产亚洲色婷婷99精品91| 少妇一区二区三区在线观看| 91挑色欧美| 日韩 成人 有码| 天美欧美国产| 久久久96精品| 日韩无码极品| av天堂天堂av日韩| 凹凸视频特色日本特黄| 校园春色综合| 一区二区不卡| 97国产中文| 91性片| 天天做天天爱夜夜爽毛片试看| 91一区二区三区蜜桃| 懂色av色欲av蜜臀av| 综合久久六月久久婷婷| 五月综合色| 美骚妇av高清在线| 91精品操美女| 精品九九九九九| 人人做天天爱| 999岛国大片| 在线天堂999| 九九九九九九九九九九九九九九九女| 亚洲色图片区| 嫩呦国产一区二区三区AV| 夜夜影视四色| 老熟女熟妇| 91热色| 一级二级在线观看| 秋霞免费AV| 日韩AV电影网站| 蜜桃精品视频一区| 久久超碰97| 这里只有精品视频在线观看麻豆| 老司机深夜18禁污污网站| 久久香蕉综合一本到3atv| 亚洲人久久久网| 97干在线视频| 色五月激情AV在线| 欧美91精品国产自产| 风流老熟女一区二区三区l| 蜜臀久久久久久999| 亚洲有码第一页| 国产成人亚洲精品无| 国产午夜无码片在线观看影视| 欧美九九爱| 欧美日韩精品久久久久东北老熟妇| 日韩成人无码| 五月婷丁香| 久久久99999久网站| 久久精品熟妇丰满人妻99| 国产黄色 A 片免费看| 2011国产精品| 1240青青草一区二区三区视频天爱| 在线免费观看日韩一区| 天天操天天射青青草| 91热热色| 欧美精品1区2区3区| 国产精品高潮久久AV| 亚洲精品一二区| 中文一区二区婷婷视频| 中文字幕熟女人妻丝袜丝| 美女操逼A A| AV色天香在线| 国产97在线 | 亚洲| 久久曰曰| 久久中文字幕人妻熟av女蜜柚| 无码外流操逼视频| 国产九区| 333kkkk·亚洲com久久| 97碰碰日本乱偷人妻中文的| 国内精品嫩模A∨私拍小视频| 久久久爆乳翘臀一线天伦理视频| 97色欧洲| 密桃99999| 日韩97P| 日本大片日本一区二区免费高清| 亚洲日韩美女丝袜美腿人妻视频| 婷婷久久综合| 香蕉99秘 一区精品蜜桃臀| 热九九精品| 日韩久射综合| 色性欧美| 亚洲欧洲中文日韩女优乱码| 和协影院中文字幕三区| 一区操逼日比视频| 丰满欧美放荡少妇在线| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 天天爱天天韩国日本牛牛牛牛| 欧美 色 亚洲| 久久免费老司机精品| 91色综合| 乱码人妻一区二区三区| 日韩av乱伦| 91中文字幕制服丝袜免费视频| 婷婷尹人大香蕉免费| 97超碰人人模人人拍人人| 欧美熟妇精品黑人巨大一二三区| 日韩性爱人人爱人人操| 五月天婷婷社区| 91美女丝袜诱惑视频| 操屄日韩| 欧美人妻一区二区| 天天干2区3区| 国产精品一级毛片不卡视| 夜夜国自区| 麻豆蜜桃视频在线观看| 色色福利| JuliaAnn丝袜熟女系列| 欧美日韩一干二干| 九九色图| 国产精品蜜臀久久久久无码AV| 午夜无码熟妇丰满人妻| 婷婷五月天补不补| 亚洲蜜乳av| 青青草这里只有精品| 91丝袜美腿网站| 囯产操逼片| 亚洲欧美人妻| 素人伊尹大香蕉免费下载视频| AV天天在线观看| 欧美人妻一区| 在线人成亚洲视频免费观看| 久草色在线观看| 91色黑人少妇| 人妻少妇视频在线播放| 久久夜黄色无码A级大片| 中文字幕三四五区| 久久久久久免费电影| 人妻插插人妻人| 亚洲AV成人无码一区二区三区在线观看| 日韩欧无码一区二区三区免费不卡| 久热大香蕉网站| 欧美丝袜激情| 人妻激情另类| 九九色逼| 天天草天天干天天日| 亚洲性爱乱操x| 亚欧美色| 一区二区三区一亚洲中文字幕、综合区灬| 精品96久久| 男人下部插入女人下部| 91亚洲人电影| 五月婷婷综合网| 久久AV无码网址| 亚洲色欲天天天堂色欲网女| 人妻铁牛TV| 97在线免费公开视频| 四季AV一区二区凹凸精品小说| 性欧美另类高清| 99精品久久| 色色色色网站| 亚洲色欲天天人妻无码系列专区| 免费看A片毛毛片在线播| 国产精品永久免费10000| 一区二区中文| 黄片www视频免费| 天天网综合| 天天色欧美| 九久精品| A 天堂| 另类图片欧美激情综合| 亚洲婷婷综合网| 日韩电影在线观看网址| 久久久久亚洲熟妇熟女| 国产黄色视频久久| 乱伦一二三区| 人人艹亚洲| 久久美女国产| 新版天堂中文资源8在线| 精品一二三区久久AAA片| 凸凹视频在线观看| 97人人干| 亚洲s在线观看| 伊人成人情色综合| 久湿久久| 亚洲天堂资源在线| 12一15性XXXX粉嫩国产| 国产人妖的免费的视频| 色乱二区| 青青草中文-久久青草精品一区二区三 | 天天干天天拍| 啊好爽受不了无码| 日韩精品大香蕉伊人在线| 五月天亚洲网| 欧美中文综合| 久久久久久久伊人精品| 亚洲欧美国产其他二区| 天天综合精品| 啊啊好多水| 蜜桃臀一区二区三区久久| 日韩BBN| 放黄片放3级黄片没穿衣服| 奶水 人妻 哺乳 在线| 激情综合色| 久久综合精品一区二区三区| 绑缚麻绳人妻寝取完整版| 亚州欧美综合| 一区二区乱码福利| 欧美大香蕉专区网| 亚州情色j区| 一区麻豆 高清中文字幕| 九一综合网| 乱人乱色一区二区三区免费| yiqicaoav| 特级毛片特黄久久免费看 | 精品无码一区二区| 高清孕妇孕交 交孕妇| 亚洲人妻久久| 丝袜美腿制服人妻二区中文字幕| 亚洲伊人a线观看视频| 人、人、摸,人、人、草| 超碰色97| 午夜精品久久久久| 日韩无码人妻中字久久三区四区| 夜夜草我| 啪啪啪大香蕉| 亚洲 综合 第一页| 91丨国产丨白浆秘 洗澡动漫| 日本视频一区二区三区| 青青草视频爽一爽| 天天日天天干天天摸天天操| 72av视频| 精品九九国产无码| 精品久久久久瑟瑟| 青草一区二区| 天天看天天在线精品| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 嗯啊不要啊在线| 青青草中日韩在线| 一级毛片久久久久久久女人18| h在线看免费版在线看| 久久人体一区二区| 国产欧美精选激情视频| 天美一二三在线观看Av| 亚洲日韩国产精品| 婷婷五月天在线观看| chaopen97久久| 免费看A片毛毛片在线播| 欧美精品 - 91爱爱| 日本一道在线播放高清| 亚洲综合网电影91| 欧美色视| 超91综合网| 999精品久久久久久久| 日韩无码成人电影| 视频二区美腿制服人妻欧美| av资源在线观看少妇| 日本精品一区二区三| 日韩精品人妻中文字幕有码午| 91 国产丝袜在线放观看| 97免费在线观看| 开心五月婷婷| 蜜臀久久99精品久久久久久婷婷| 色婷婷久久| 91青青在线| 日韩成人网址| 亚洲风情在线观看| 大香蕉97久久| 翔田千里A片一区二区| 久久久久久中文字幕中文字幕最新| 日韩在线电影| 久久综合日韩亚洲欧美| 国产精品白丝在线播放| 青青草成人视频在线观看二区| 先锋激情∨在线视频播放| 91成人社区| 亚洲精品一区二区三区在线播放| 啊啊啊啊啊舒服| 强奸a片网| 亚洲色宗合| 日少妇亚洲版| 免费在线黄片视频| 全国男人天堂网| 射 色综合| 熟妇xxxxx性春色| 久久亚洲色图中文字幕| 国产无套粉嫩白浆在| 久久久日本电影| 啊啊啊好湿久久| 欧美性爱www免费版| 九九九九九九精品| 打av高清| 人人做人人妻人人夜视频| 精品日日人妻| 精品一区二区三区四区女 | 蜜臀AV成人精品蜜臀| 成年人性爱日韩| 东京热综合久久一区二区| 97 超碰 人人做 人人爱| 天堂中文日本在线观看| 夜色综合| 欧美第一页| 又黑又大又粗| 亚洲 国产 精品一区| 蜜臀视频网站| 夜夜爽夜夜摸夜夜操免费视频| 五月天激情国产综合婷婷婷| ji熟女.com| 美女9118禁| 精品国产久久乱码| 好湿好紧好爽 视频| 日韩一级成人毛片免费观看 | av在线一区二区三区| 啪啪啪亚欧美视频| 久久人人爽av亚洲精品天堂桃色 | 黄片免费日韩| 青青草一本道福利视频| 亚洲色图加勒比| 天天综合网站| 亚洲九月丁香| 国产成人无码啪| 91老熟女视频| 久操视频这里只有精品| 中文字幕神马久久| 欧美性后入| 爽爽淫人网| 国产福利精品最新在线| 久操网视频| 少妇一级无码精品| 91网站18禁| 久久精品人妻一区二区三区| 国精综合一二三区影视| 精品无码一区二区| 日韩国语字幕| 婷婷性爱| 99热最新网址| 女人高潮大叫一级毛片| 最新中文字幕精品在线| 黑人美精品 A片| 国产精品一二三区18| 蜜臀久久99精品久久久| 91爱| 日韩小电影| 久久久555| 欧美亚州综合网图片| 国产91丝袜在线播放蜜月| 中文字幕视频免费| 精品国产乱码久久久兰草影视| 蜜桃视频精品一区二区三区| 欧美不卡在线美女| 青娱乐 成人娱乐在线| 96精品在线| 欧美天天插| 亚洲有薄码区日本系列中文字幕| 久久久无码国精品无码三区三区| 色婷婷丁香五月| 五月婷婷激情网| 精品一区二区啪啪啪| 蜜桃久久综合视频| 熟妇人妻一区二区三区| 桃色六月天| 欧美97视频| 天天日熟妇| 在线洲亚线| 蜜臀久久99精品久久久久久-DVD| 熟女少妇视频| 另类天堂| 亚洲成人性爱网站在线播放| 天天操天天射天天日| 日本免费一级AAA大片器 | 国产精品在线一区二区| 偷拍亚洲情色| 性一级黄色录像片网站导航| 黄片www视频免费| 精品国产乱码| 国产1769在线| 一区二区三区精品黑丝白丝酒店对鸡 | 91精品国产综合久久久蜜臀| 男人的天堂在线2| 精品国产国产AV| 亚洲人妻久久久| 国产精品操| 粉嫩av久久一区二区三区| 亚洲蜜桃V妇女| 日本高清电影欧美色图| 青青草日本中文字幕| 本道在线| 另类图片综合| 久久九九国产精品| 婷婷久草一区二区三区| 久草新免费| 亚春色色| 久综合国内精品自在自线| 熟妇操花| 学生妹天天看| 奸色色 男人天堂 天天射| 国产一区二区免费福利片| 亚洲一区深夜| 亚洲成人在线乱码色午夜| 国产精品一区二区亚洲人成毛片 | 99久久久er直播网址| 看看小穴| 97欧美色| 99re9在线| 欧美少妇性乱| 欧洲精品一级二级精品综合视频综合| 999精品国产高清一区二区| 激情啪啪拍91| 日韩国产十八禁| 国产激情在线| 亚洲欧洲综合av在线| 五月天婷婷成人网| 日韩 欧美 国产 麻豆| 欧美色偷偷| 免费啪啪啪网站18岁| 超碰97在线 欧美 国产| 亚洲 日本 不卡| 久久夜黄色无码A级大片| 天天日日舔舔| 台湾佬大香蕉| 日本熟妇人妻中出视频| 亚洲欧洲精品成人| 玖玖综合网| 国产热RE99久久6国产精品首| 久久99手机免费视频| 免费视频一二三区| 色综合婷婷| 色69大色97香蕉| 天天操天天射天天日| 精品无码一区二区| 色婷婷一区二区三区久久| 国产成人在线观看综合| 亚洲欧美日韩国产丝袜自拍中文| 国产成人91一区二区三区| 超碰在线人妻| 91日韩网站| 午夜高清成人在线视频| 国产久久一区二区| 国产对白刺激视频| 69人妻精品丰满熟女区| 久久在线观看免费视频| 九九无码久久精品视频| 综合 亚洲 欧美| 五月丁香综合激情| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 曰韩精品视频一区二区| 中文字幕日韩精品一区二区三区| 麻豆久久精品亚洲精品88| 日日日日日| 国产综合久久久麻桃个| 丁香六月婷婷久久综合| 伊人九九九| 可以免费观看的av| 91精品国产91熟女| 日韩精品99999| 蜜臀久久99精品久久久久久酒店 | 深夜激情 | 亚洲男人天堂AV| 九九热免费国产视频婷婷伊人| 高清孕妇孕交 交| 国产丝袜视频| 亚洲综合电影| 东京成人一区| 26uuu性| 欧美熟女丝袜| JULIA一区二区三区在线播放| 国产自偷| 人妻啊啊人妻啊| 中文字幕av亚洲精品| 另类亚洲图色| 视频国产精品未满十八禁止在线观看| 久久久久久少妇| 午夜男人一级A片7777| 午夜传煤十二区精品| 色嘟嘟人妻天堂网| 一级二级三级黑人无码| 色踪合AV| 人妻熟女一区在| 欧美福利视频啊啊啊啊| 小草av不卡亚洲二区| 最新国产亚洲精品精品国产亚洲综合| 亚洲国产97在线精品一区| 欧美黄页在线| 高清一区AV无码| 干b网| 国产suv精品一区二区四区999| 午夜操逼不卡| 麻豆一区二区AV天美| 91国产精品熟女| 青青操综合网| 欧美色乱| 久久宗合亚洲| 91网站18在线观看| 人妻系列无码专区中文有码 | 大鸡吧尹人在线| 操操操日本的逼| 花花AV导航| 无码视频一区二区| 中文字幕 码精品视频网站| 欧差乱伦二三| 一区e区三| 欧美色图亚洲特色| 五月色网| 不卡av在线中文字幕| 日日骚网站| 日影院久久婷婷夜夜网| 国产伦精品一区二区三区视频女| 中文精品一区二去| 国产精品网址| 日本 情色 1区2区3区| 真实高潮91| 精品婷婷| 操逼啊啊啊91| 欧美夜夜草视频| 97综合激情| 少妇色综合| 亚洲乱色视频一区、二区在线| 欧美日韩操逼嗦吊| 久久综合国产精品国产| 又粗又长又大国产不卡| 欧美色图99| 色天堂在线观看| 亚洲一区二区三区麻豆传媒| 五月婷婷六月激情| 波多野结衣先锋影音| 久久99精品国产| 成人小电影网站tex| 99热精品在线观看| 亚洲乱码国产乱码精网站| 日韩 国产 欧美自拍| 色欧洲| 亚洲小说视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 欧美97在线观看| 九九九网页| 国产欧美日韩女同性恋ww喷水精品 | 亚洲高清视频在线观看| 免费久久一级毛片大黄| 久久精品视频28| 久久久97| 色综合色欲色综合色综合色综合| 中文字幕精品区先锋资源| 在线情色电影 91大| 97超久碰| 97人人中文网| 欧美久久毛片基地| 色婷婷成人综合| AV高清一区| 九九久久99| 中 文字幕一区二区三四 五 区日 日 骚| 亚码激情| 精品熟女一区=区三区| 日本 成 人 小说 电影 一区二区| 九九久久99| 色色色综合网| 欧美性天天影视| 国产亚洲 中文欧美久久| 97国产超湿| 夜夜狼人妻| 97 视频在线| 亚洲综合射| 日韩人人精品| 欧美丝袜中文字幕07在线| 日韩久射综合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 91红杏| 特级大荫道BBwBBwBBW| 激情图片亚洲色图| 欧美 日韩 另类 亚洲| 麻豆国产成人精品| 国产又长又大又粗的视频| 熟妇女伦乱视频视频| 九九九九亚洲| 欧洲特黄毛片免费看欧洲毛片| 91丨国产丨白浆秘 洗澡动漫| 牛牛操视频逼| 欧美成人一区二区三区在线播放 | 亚洲色图欧美| 大香蕉乱级| 日本高清_区二区三区 | 久久伊人影院| 超碰在线欧美性爱激情| 嗯啊抽插大香蕉网页| 亚洲中文字幕网| 色一射色一射| 成人久久久精品| 久久这里只| 麻豆福利视频导航| 97精品一区| 欧美综合传媒| 日韩色| 超碰国产精品久| 婷婷久久久| 久久一区,青青青青草视频在线播放| 中文字幕78| 精品国产乱码久久久| 看日韩黄片| 91人妻尻屄视频| 色婷婷aV一区二区三区麻豆综合| 欧洲精品网| 亚洲毛片基地专区| 强奸乱伦大香蕉| 青青草日韩无码| 综合视频91| 永久免费观看的毛片的网站| 99久久精品无码一区二区| 性色一线| 久久熟女嫩草成人片免费| 日韩激情电影中文字幕| 精品久久久亚洲AV成人网站| 久久av网| 手机在线大香蕉| 91成人久久| 黑人天8A∨高清网站| 国产美女高潮视频| 日韩人妻制服丝袜av| 中文字幕一区 二区三四五 区日 日骚 | 乱久久久| 青娱乐淫乱1314| 大香网伊人久久综合| 色香在线| 在线αⅴ| 女色视频社区| 91天美免费| 操逼操逼视频操逼| 97超碰逼| 日本一道在线播放高清| 久久久激情| 亚欧洲一区二区视频| 伊人黄色片| 日韩在线女优天天干| 超碰色97| 99久久婷婷| 久久99干一本高清| 1禁看欧美黄片免费看| 69精品人人人人| 亚洲人妻中文在线视频| 超碰资源亚洲97| 亚洲图片91| 成人在线日韩| 97伊人| 99热在线播放| 久久久偷拍| AV中文在线| 欧美成人精品欧美一级乱黄一区二…| 日本高清一区二区在线| 天天天操天天天爱| 久久精品国产亚洲AV无码电影| 欧美 熟女 日韩| 老熟妇一区二区三区…| 成人久久精品| 天天色,天天干,天天干| yy少妇精品久久| 色官网色综合| 国产91丝袜在线播放蜜月| 久久久精品视频免费观看| 中文字幕乱偷人妻久久艾草网| 日本视频一区二区三区| 日日干夜夜骑| 国产精品久久久三级无码| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91N综合网| 亚洲五月丁香花狠狠干一区二区三区| 果冻传媒A片麻豆熟妇人妻| 色播五月婷婷| 97色碰| 超碰97玖玖爱| 国产亚洲中文不卡二区| 激情文学小说一区二区| 欧美日韩99| 91搡老女人老妇女老熟女歌词翻译| 怡红院视频在线| 精品国产Av无码久久久亚洲| 91网站18在线| 五月天婷精品激情| 欧美天天综合网版| 麻豆乱码久久精| 强奸乱伦Av网| 欧美性性性| 99热精品国产| 国产又大又硬又长又粗| 国产路线专区| 大香蕉中文aV在线| 粉嫩av在线一区二区| 日韩猛交| 97欧美色资源| 凹凸视频特色日本特黄| 午夜小电影在线插入淫高潮| 天天日天天操VV| 亚洲欧美成人在线| 成人蜜乳小视频网站| 精品国产久久乱码| 色哟哟的毛片| 人人操人人摸人人看人人干| 久久9久久| 99re95| 色婷婷电影| 免费的黄片有限公司| 亚洲中字慕不卡| 粉嫩国产精品久久久| 99热这里只有精品地址| 国产无码精品久久久久久| 国产后入清纯| 久久25| 国产高潮AA片免费看| 13小男生GAY自慰脱裤子| 婷婷五月天色网| 亚洲综合在线高清| 丁香婷婷久久| 影音先锋视频在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 日韩欧美性吧婷婷乱伦大香蕉| 日本好吊色视频| 91蜜臀熟女| 久久最新视频免费观看| 国内三级自拍小视频在线观看| 91精品无码久久久久久久| 超碰久草| 久久久久亚洲一区女同性恋中文字幕| 2024人人操人人摸| 欧美激情另类一区二区| 亚洲色91| 久久久久久人| 亚洲天堂美臀在线| 欧美天堂日韩三级国产传媒| 婷婷99狠狠躁天天躁| 久久一区二区高清免费| 思思久热在线精品66| 91精品国产91熟女| 97在线欧| 亚洲天天影视色综合| 欧美无圣光在线| 91婷婷伊人狠人| 久久婷五月天| 爽 好舒服 无码刺激久久| 隔壁邻居波多野结衣中文字幕| 少妇久久| 97干在线视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 18禁中文字幕| 青青青国产手线观看视频2| 又大又大又大又粗爽高潮观看| 一本色道人妻久久| 亚洲天天天| 国产丁香精品露脸视频| 蜜桃臀一区二区三区久久| 自拍亚洲综合| 在线情色电影 91大 | 郑州宾馆老熟女露脸啪啪| 亚洲伊人a线观看视频| 黄视频免费| 国产精品免费1区2区视频| 一区二区三区国产在线播放| 亚洲在饯| 亚洲精品99999| 精品熟女呻吟久久91| 亚洲在饯| 91天天| 中文字幕丰满人妻日本| 91肉丝| 高清无码久操视频| www.亚洲黄色| 天天狠操| 国产探花精品在线| 久久精品店| 色色色色综合网| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 欧美日韩性爱无码| 日本日皮视频逼| 天天色播| 午夜精品一区二区三区三上悠亚| 免费观看欧美日韩操逼视频| 91oumei| 亚洲精品欧洲精品| 久久一本大香蕉| 国产精品午夜精品|