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

ARTICLE DETAIL

資訊詳情

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

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

YOLOv8s結(jié)構(gòu)化剪枝實(shí)戰(zhàn):從稀疏化訓(xùn)練到部署加速 先講一個(gè)我前陣子真實(shí)遇到的部署場景。模型用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含檢測頭。這個(gè)體量在YOLOv8家族里屬于small檔看起來不大但對(duì)邊緣設(shè)備來說依然偏重。從結(jié)構(gòu)上看YOLOv8s由三大部分組成Backbone負(fù)責(zé)從輸入圖像提取多尺度特征Neck是PAN-FPN結(jié)構(gòu)負(fù)責(zé)把不同層的特征融合起來最后是Decoupled檢測頭分別輸出分類和回歸分支。我自己的實(shí)測統(tǒng)計(jì)里Backbone占據(jù)了接近一半的計(jì)算量Neck占了剩下三分之一左右檢測頭因?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模塊上檢測頭做一個(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ū)Π氩鸪蓛煞荨G鞍敕葜苯铀腿oncat后半份經(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)重稀疏度分布不均勻模型文件里全是零值但通用硬件上幾乎得不到加速收益除非配套稀疏矩陣專用庫。結(jié)構(gòu)化剪枝structured pruning以通道或?yàn)V波器為基本單位整體裁剪直接改變卷積層的輸入輸出維度任何推理框架都能拿到實(shí)實(shí)在在的加速。我見過不少朋友把SparseGPT這類非結(jié)構(gòu)化方案用在YOLOv8s上精度保住了但導(dǎo)出到TensorRT或ONNX Runtime之后推理速度紋絲不動(dòng)。原因很簡單民用級(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ì)算庫剪枝前的稀疏化訓(xùn)練就是常規(guī)訓(xùn)練。另外準(zhǔn)備一個(gè)你自己的、已經(jīng)收斂到可用狀態(tài)的YOLOv8s權(quán)重文件。最佳實(shí)踐是先正常訓(xùn)練到float32的精度峰值再從這個(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)部通道維度等長的布爾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和檢測頭的處理策略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的輸入通道。檢測頭的處理需要克制。YOLOv8s的檢測頭是Decoupled結(jié)構(gòu)包含cls分支和box分支box分支還帶DFL輸出維度與reg_max和類別數(shù)綁定。cls和box的最終輸出通道都不能隨便剪否則損失函數(shù)和部署后處理都會(huì)出問題。但檢測頭內(nèi)部的1×1卷積輸入通道來自Neck這些輸入通道可以跟著Neck的mask一起裁剪。實(shí)際操作中我只對(duì)檢測頭做輸入通道的同步裁剪輸出通道一律不動(dòng)。5. 微調(diào)與精度恢復(fù)剪完不是結(jié)束重訓(xùn)才是開始5.1 為什么剪完必須微調(diào)剪枝不是在模型文件上做減法那么簡單。通道被剪掉之后模型權(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不需要長訓(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ù)集、不同檢測難度、不同稀疏化訓(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í)測在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里測速?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跑一遍速度差異立刻出來了。所以測速一定要在目標(biāo)部署框架里測不要在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
返回資訊列表
青青操日本摸摸看看| 久久9精品| 天天爽天天操| 天天插天天草人人玩| 97碰碰九九视频| 精品人妻久久久久久久| 九九精品网站| www.com亚洲网站在线免费| 九九热在线视频观看| 婷婷五月丁香久久| 99区视频| 亚洲天堂久久| 爱超碰性| 97操操操| 中文成人在线| 夜夜夜夜撸夜夜操| 色婷婷AV五月天| www.日本91| 精品一二三区久久AAA片| 色五月在线观看| 欧美丁香婷婷天天操| 久久综合五月婷婷| 91狼友视频网页更新| 9|无码久久久久久| 欧美视频五区| 丁香六月婷婷综合| 天天操夜夜橾| 色婷婷基地| 色婷婷成人丁香| 97超级碰碰碰| 欧美日韩日韩成人| 久re在线| 婷婷自拍| 超碰高清在线| 综合色视频| 色99在线| 成人视频网| 91色婷婷综合久久中文字幕二区| 亚洲网站999| 久久久久er热| www.五月天| 激情开心五月亚洲| 五月天,激情四射,婷婷频道| 人妻久久久久久久久久久| 激情久久综合| av激情在线| 丁香婷五月| 久久九九中文字幕| 射区导航| 综合久久综合| 99 热| 超碰不卡在线| 久操福利| 色九区| 日本99在线视频| 九九激情| 任你搞网站| 色播五月综合网| 97碰91| 成人亚洲精品久久久久| 亚洲乱码日产精品BD| 大香蕉久久婷婷精品综合| 99色视频在线| 激情综合区| 婷婷玖玖五月天| 影音先锋偷偷色男人站| 99热.com| 大学生高潮无套内谢视频| 亚洲av成人在线| 婷婷久久色| 26uuu亚洲欧美| 五月丁香在线精品| xxx.色婷婷| 婷婷五月综合网| 日韩视频99| 夜夜躁爽日日| 日日天天干| 九九热最新地址| 伊人激情| www五月婷婷| 亚洲区在线| 啪啪五月婷婷| 五月婷婷丁香大陆免费| 香蕉久操| 4399欧美另类视频| 欧美噜噜久久久XXX| 久久亚洲A| 亚洲色色图片| 色爱终和网| 99热综合在线观看| www夜夜操com| 婷婷五月天影院| 99亚州综合精品成人网| 91呦呦呦| 亚洲精品无码久久| 思思热热久久| 亚洲va在线∨a天堂va欧美va| 激情综合五| 婷婷色在线观看| 大香蕉五月天| 欧洲区自拍| 另类伊人婷婷| 丁香色五月婷婷91桃色| 九九色逼| 久久艹网| 色综合xx| 久婷| 激情五月丁香婷婷| 婷婷五月天天| 亚洲AV成人在线| 九九九九九无码| 乱色色色| 久久XX| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 丁香五月伊人| 九九国产精视频| 亚洲色色在线| 五月天综合激情网| 丰满老熟妇BBBBB搡BBB| 色婷婷久久天天性爱| 婷婷亚洲综合| 色月丁| 亚洲色色色色色色色色色| 婷婷丁香五月天色区| 久久538| 丁香五月综合激情性爱| 日本www免费九九| 91碰碰碰久久久久| 五月婷婷中文网| 天天干电影| 黑人糟蹋人妻HD中文字幕| 亚洲成人无码免费| 99热精品9| 偷拍91九色| 色噜噜狠狠一区二区三区| 97色射| 欧美天天草人人草| 综合久久高清| 99九精品| 美女要搞搞天天搞搞搞网站| 97天堂| 97人人操人人插| 色色色干| 99热综合在线| 色五月天丁香婷婷色| 色色婷婷五月天| 国产资源91在线| 欧美日综合| 亚洲色99综合天堂| 狠狠色丁香婷婷综合久久97AV| 日本天堂免费99| 国产av天天插天天操天天爽| 操逼视频网址| 亚洲精品久久久久久久久久吃药| 成人免费120分钟啪啪| 超碰97干| 五月天丁香综合| 99碰碰碰| 狠狠色狠狠操| Www.狠狠| 天天干天天干天天| 99久热精品在线| 啊V视频在线观看| 五月婷婷色| 百度一下国产精品A| 伊人久久艹| 激情综合五月婷婷丁香| 亚洲成人av在线播放| 国精产品一区二区三区| 丁香五月停停av| 五月天婷婷网站| 亚洲AV中文在线| 色黄啪啪| 欧美丁香五月| 久久99精品九九久久久婷婷| 色播播五月天| 激情五月天在线| 99视频| 91精品无码| 免费播放片大片| 亚洲人妻电影| 五月婷婷之综合激情| 丁香六月婷婷| 精品国产人人爱人人| 九九这里只有精品| 99色看这里只有精品| WWW久久久| 91一道本| 激情视频网址| 婷婷色色综合激情| 91干网站| 夜夜爽天天爽| 精品久热| 国产精产国品一二三在观看| 婷婷五月天亚洲综合| 国产亚洲99久久精品熟| 久久A区B区| 色色图五月天| 久久黄色片| 91N 一起草| 久久久久久丁香五月| 超碰2021| AV在线观看网站| 亚洲色99综合天堂| 六月婷婷av| 思思热天天看| 91午夜婷婷狠狠久久综合9色| 襙逼网| 91精品91久久久久77777| 六月婷婷激情小说网| 热久综合| 91色久| 99在线观看精彩视频| 久久久人妻| 天天艹天天色| 日本三级片片| 九月婷婷久久| 夜夜骑夜夜撸| 亚洲夜五月| 成人无码精品1区2区3区免费看| 狠狠色噜噜狠狠色噜噜噜999| 99色在线| 五月婷六月婷婷| 综激情网| 国产精品男人AV不卡| 久久黄色免费视频| 日逼AV影音先锋男人资源站| 深爱婷婷色| 国产精品第一国产精品| 五月天婷婷激情网| 精品视频网| 五月丁香久久网| 色情·com| 婷婷中文综合网| 色婷婷综合亚洲| 婷婷五月综合欧美在线播放| 91久久九九| 久久九九99| 久热这里只有精品在线观看 | 5月婷婷6月六月丁香| 91人人爽狠狠狠| 精品久久久久成人码免费动漫| 色色com| 丁香六月婷婷一区| 久久您您综合网| 熟女网站久久| 色婷婷久综合久久一本国产AV| 色色婷婷五月| 激情久久 婷婷| 天天插天天爽| 激情综合一| 婷婷爱综合| 色婷婷香蕉丁丁网| 丁香五月欧美婷婷综合| 97碰碰人人视频| 九九热视频在线观看| 深情五月天| 操操啪| 精品国婬伦V无码久久久| 青青草tp| 99热99热不卡| 99热青青草原| 青青操avbb| A在线观看| 日韩精品无码一区二区| 欧洲亚洲免费视频9| 色色婷婷综合网| 色综合久久天天综合网| 97久久五月丁香婷婷| 五月天丁香婷| 91久久婷婷人人澡草| 丁香婷婷五月天校园春色| 丁香婷婷五月人体| 五月丁香狠狠爱婷婷综合| 婷婷五月天小说| 久热超碰91| 丁香五月五月婷婷五月天激情四射| 激情图片亚洲| 九九AV在线| 91九色PORNY肉丝在线| 亚洲激情综合| 婷婷色操| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 亚洲色色色色色色色色色| 丁香五月婷婷社区| 99视频| 综合网亚洲| 久久99热精品a片在线观看| 永久思思热在线| 视频一区二区在线| 亚州成人综合在线| 五月丁香婷婷激情图片| 婷婷丁香精品视频在线观看| 97超喷视频在线观看| 欧美激情综合五月色丁香| 久久性爱视频网站| 日韩无码专区| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 色婷婷AV在线| 五月激情射| 青青操丝袜美腿| 操婷婷基地| 99色在线观看视频者| 欧美性生交xXxX久久久| 激情98色婷婷五| 99久久66综合| 色婷婷狠狠久久综合五月 | 丁香婷婷丁香五月欧美人| 大香蕉av在线| 五月婷婷狠天天色综合| 欧美综合在线五月天色婷婷| 日本五月视频| 色五月婷婷小说亚洲中文字幕组| 久久在线大香蕉| 99热免费| 久久九九99| 色五月激情五月| 日韩久久色| 伊人久久大香网| www.操.com| 婷婷综合久久| 九九人人操| 另类少妇人与禽zOZZ0性伦| 亚洲日韩一页精品发布| 中文字幕av久久爽| 97视频.干com| 欧美天天综合网站上去吧| 婷婷五月天日逼| 欧美噜一噜| 五月WWW| 五月丁香淫淫婷婷婷| 五月天婷a| 日本va视频| 丁香婷婷久久综合在线| 国产avapp 网| 风流少妇A片一区二区蜜桃| 色欲一区二区三区精品A片| 国产精品18久久久| 碰碰人人漕| 狠狠色婷婷777| 开心五月丁香综合久久| 综合网五月天123| 少妇激情五月天| 99无码| 五月综合久久| 国产精品黑丝| 99精品久久| 婷婷,五月天,丁香,第一| 五月六月丁香婷婷在线观看| 天天做天天爱天天爽综合网| 99热这里只有精品1025| 久久婷婷五月天激情新地址| 五月丁香婷草| 婷婷激情五月综合丁香社| 丁香五月天堂网| 婷婷五月在线观看| 色婷亚洲五月丁香| 五月丁香六月色婷婷综合五月天| 日日艹思思热| 色色99| 狠狠色狠狠色综合日日91| 婷婷色啪| 色五月丁香五月婷婷五月成人网| 九九av| 日本eVa一区=区视频| 熟女91九色| 激情婷婷综合| caop在线视频| 成人精品网站在线观看| 五月婷成人网| 亚洲成人免费在线| 射婷婷中文字幕| 97丁香五月| 日本综合久久| 天天久综合| 久色| WWW99热| 天天操,夜夜骑| 99视频在线| 午夜精品人妻无码一区二区三区| 在线观看中文字幕亚洲| 亲子乱av一区二区三区的| www.激情.com.| 天天干天天色综合| 丁香花社区av| 人人舔人人色人人高潮| 久久Xx| 色九四色| 色色日韩无码| 被男人添B超爽视频| 色吊操色妞| 久久的爱大香蕉| 丁香五月第九色| 久久色婷婷| 色久99| 国产熟女日日骚五月丁香爱| 婷婷五月天基地| 亚洲在线资源| 色综合九九| www.91有码.com| 久久五月婷| 欧美三级韩国三级日本三斤| 亚洲九九在线| 青青草视频免费观看| 五月丁香色色| yellow视频在线观看91| 97黑人精品区| 久久色9| 狠狠色婷婷丁香五月| 色久五月| 91无码一区人妻A片蜜| WWW丁香五月| 99熟女| 久9免费视频| 丁香五月成人av| 国产毛片精品一区二区色欲黄A片| 草榴视频网| 热99在线| 五月婷婷婷综合网| 久久婷婷六月综合综合色| 伊人激情综合| 桔色成人在线| www...com黄在线观看| 久久久精久人妻| 1024在线一区| 久热视频这里只有精品| 大香蕉啪啪啪啪啪啪| 五月天第四色开心色播| 99国产精品白浆在线观看免费| 99极品视频| 99色综合| 六月色丁香中文字幕| 九九婷婷热| 开心婷婷五月花| 国产AV一区二区三区日韩| 开心激情色婷婷五月天| 成人综合视频网址| 天天激情站| 亚洲五月天色色| 亚洲 六月 综合| 色丁香五月婷婷综合久久| 激情亚洲网| 久久日韩婷婷五月| 久色网址| 看婷婷五月天网| 色丁香五月婷婷| 色五月五月丁香| 丁香五月天堂亚洲社区| 99九九在线视频| 久久9视频欧美| 激情亚洲网| 五月天激情黄色小说在线观看| 激情五月天开心| 中文字幕不卡+婷婷五月| 99re这里| 亚洲精品第一国产综合亚AV| 思思热这里只有精品| AA久久| 99操逼| 五月久久亚洲| 波多野结衣AV无码Porn| 国产激情视频在线观看| 天天操天天操| 哇嘎成人久久| 婷婷性爱| 色五月婷婷在线| 4399亚洲视频| 九色综合网| 日日夜夜干| 99亚洲精美视频在线观看| 婷婷开心激情| www.99热. com这里只有精品| 色玖玖玖| 欧美69久成人做爰视频| 日本九九视频| 五月天婷婷永久免费视频| 国产激情在线观看| 久久激情五月| 天天摸人人摸| 五月天激情国产综合婷婷婷就去爱| 99国产精品久久久久久久久久久 | 99热91| 五月婷婷 婷婷五月 一区二区 久久久 | 91狠狠色丁香婷婷综合久久精品| 五月天在线视频尤物视频在线看| 97人人做| 日日夜夜亚洲一区| 久久激情五月| 天天草比天天爽| 6月丁香婷婷| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 激情人妻综合| 五月婷婷乱| 久综合色| 久久丁香社| 丁香六月婷婷久久综合| 国产26uuu| 欧美影院婷婷| 久久青草国| 黄网在线播放| 91色逼| 色综合久久久久久久久五月| 久久婷婷五月国产激情综合片| 97人人操com| 婷婷五月天网| 99在线小视频| 九九99九九99九九99视频网| 五月天婷婷在线AN| 激情五月天色爱| 91爱啪啪| 国产中文字幕在线视频免费观看| 欧美久久一级内射wwwwww.| 亚洲最大五月六月丁香婷婷| www.狠狠色.com| 激情久久久久久久久久| 九九色黄色| 亚洲妇女熟BBW| 色婷| 久久久香| www.jiujiujiu| 视频色色色色色色| 日逼免费视频| 人人干人人操人人摸人人做| AAA久久| 波多野结衣AV无码Porn| 亚洲视频码| 夜夜嗨一区二区三区直播内容| 夜夜撸天天操| 午夜丁香| 婷婷伊人綜合中文字幕| 九九99免费视频| 日日噜噜夜夜狠狠久久丁香五月| 婷婷五月天高清无码| 色婷婷香蕉丁丁网| 色婷婷婷av| 午夜成人AV在线| 伊人婷婷大香蕉| 天天综合网~91综合网| 五月天久久网站| av在线不卡播放| 超碰婷婷色| 日日影院 | 日本婷婷| 五月丁香福利| 人妻少妇色综合| 人人干人人操人人摸| 激情五月婷婷丁香综合网| 日本在线噜噜| 国产精品成人av在线观看春天| 亚洲九九99精品视频在线播放| 美女主播野战视步页| 激情五月天之五月婷婷| 五月天婷婷五月| 亚洲丁香五月在线观看| 五月天色官网| www.色五月天.com| 99re8这里只有精品99re8热视频| www.99热| 五月丁香999| 激情欧美五月丁香| 中国女人做爰A片| 少妇搡BBBB搡BBB搡毛茸茸| 亚洲精品又粗又大又爽A片| 无码AV免费精品一区二区三区| 九九热AV| 精品人妻午夜一区二区三区四区| 91黄色五月天视频| 亚洲无aV在线中文字幕| 午夜丁香| 日本特黄aaaaa| 五月天婷婷影院影院| 婷婷激情五月天小说| 人妻啪啪啪| 午夜亚洲国产精品av一区二区| 99久久婷婷| 五月天激情小说网| 一本色道久久88加勒比| 激情久久月| 国产综合色婷婷精品久久| 九九成人精品免费视频| 全国最新疫情| 桃色五月天| 99re8这里只有精品99re8热视频| 国产美女无遮挡裸体毛片A片| 六月婷婷综合网2| 91色干| 激情五月婷婷丁香六月| www.五月天。com| 婷婷五月在线播放| 人妻无码精品一区| 亚洲岛国电影| 亚洲天堂热| 五月丁综合在线观看| 亚洲综合丁香五月天| 99热免费精品| seav天堂| 九九热av| www.色擼擼.com| 久久婷网| 色婷婷香蕉在线| 美女黄频aⅴ视频| 精品视频99看在线视频| 丁香婷婷六月| 开心五月丁香啪| 婷婷狠狠97| 日日日日日| 欧美在线视频9| 色婷婷中文字母五月丁香| 亚洲色亚洲精品| 91丨九色丨国产打屁股| 亚洲操操| 伊人9在线| 色情丁香五月天| 色综合久久88色综合天天看| 欧洲MV日韩MV国产| 狠狠综合网| 日日夜夜小色哥| 色偷偷五月天| 九九热精品99| 婷婷5月九九| 99热免费在线| 91在线操| 人人摸人人干人人做| 91操片| 99色嘟嘟精品网站| 狠狠另类视频| 色婷婷欧美| 99精品丰满| 怡红院院在线导航网| 亚洲情色一区| 26uuu欧美| 六月婷婷色色色| 五月之婷婷| 精品婷婷| 91综合在线观看| 极品 少妇 内射| 五月天狠狠| 久久国产一区二区三区| 99综合| 亚洲热久久| 91男女视频在线观看| 91se在线视频| 久久少妇视频| 激情五月综合网丁| 无码毛片992367| 97色碰| 9福利性视频欧美| 婷婷六月激情综合| 色婷婷精品| 免费观看的av| 丁香六月婷婷久久综合八月| 久久久久9| 丁香密臀AV激情网| 免费在线观看欧美激情xx小视频| 超碰免费观看| 这里只有精品视频在线看| 中文字幕在线免费看线人| 天天色月| 九九热在线精品| 色婷另类| 97视频.干com| 亚洲六月婷婷| 99ri视频| 亚洲国产精品成人免费一区久久久在线观看AAAA | WWW色五月天| 97精品在线| 啪啪99| 日韩精品999| 激情人妻综合| 九久9精品| 九九青青草成人| 婷婷在线免费| 久久人人九| 都市激情小说婷婷| 微拍92| 99精品在这里| 九月av| 婷婷亚洲欧美丁香五月| 无码视频国内精品久久久| 国产日日夜夜操| 色综合综合综合| 九色色| 久久婷婷桃花五月天| 色丁香影院| 青青999| 婷丁香五月天| 激情AV| 色五月婷婷在线| 五月丁香婷婷无码中文| 亚洲12p| 五月综合六月婷婷| 亭亭五月基地在线| AV九九| 中文字幕日产A片在线看| 五月四色色| 日本视频久久| 天天狠狠夜夜狠狠2023| 91九色精品女同系列| 激情综合婷婷| 欧美激情凹凸丁香网| 超级碰人人操人人干| 亚洲熟女色| 欧美欧盟性爱网| 在线18av | 五月天色丁香| 色五月婷婷婷婷婷婷婷婷婷婷| 99在线精品观看99| 激情性五月天免费小说视频| 五月天婷婷色色网| 99久久久久| 一起草av| 青草视频在线观看视频| 99热只有这里有精品| www色色com| 免费黄网不卡AV| 大婷婷色呦呦噜噜色呦呦噜噜| 色五月激情综合网| 国产成人精品一区二三区熟女在线| 熟女五月天久久综合| 五月天激情综合网| 色综合色| 亚洲综合色网| 久久婷五月综合色| 综合色网站| 92久久精品一区二区| 狠狠操狠狠干综合| AV九九| 操逼综合激情网| 午夜丁香婷婷| 日本五月天婷婷丁香| www.99热日韩.com| 啪色综合| 五月天丁香久久综合| 成人AV在线网站| 亚洲久热无码| 可以免费观看的av网址| 色婷婷综合在线| 亚洲五月婷婷| 99热这里只有精品 搜| 久久久WWW| 国产av第一专区| 五月天婷婷色综合| 狠狠狠狠狠狠| 天天天天天天天操| 五月天激情久久| 久久五月天影院| 亚洲av日韩无码| 天天综合网亚洲综合网| 人人爽人人射-美女久久久久久久久久-成人AV | 91大神操美女| 免费在线观看av网站| 99综合视频| 伍月婷婷六月丁香| 欧洲精品欧洲情| 天天肏在线观看| 激情99| 丁香五月色五月| 亚洲mm色| 丁香婷婷五月天网站| 99人人干人人| 久久久五月天婷婷| 91久久日日| 色色激情五月天| 色色色色网站| 九九热99视频| 看全色黄大色大片| 777色色色| 天天干天天射综合网| 五月视频日本免费观看| 噜综合| 97操在线视频| 婷婷99视频精品| 国产精品国产| 亚洲 欧洲 国产 伦综合| 91黄色五月天视频| 8050一级网| 免费观看欧美成人AA片爱我多深| www.色五月| 色九九综合| 激情五月天色网站| 五月丁香精品| 亚洲精品视频在线| 五月久久婷婷| 51XX午夜影福利| 久久婷婷五月天激情| 婷婷五月天国产| 永久精品| 婷婷久久精品| 99热在线精品观看| 超碰免费成人| 91九色网| 九九热视频在线观看| 五月天激情电影| 26uuu国产| 婷婷久久国产视频| 六月丁香婷婷网| 成人婷婷深爱综合网| 情欲综合网| 狠狠干2007| 天天爽夜夜爽夜爽精品| 久久性爱视频这里只有精品 | 五月天婷婷综合色| 操草草草| 五月天丁香欧美激情| 久9精品| 久久99久久99精品免观看粉| 黄色AV日韩| 色婷婷婷av | 91热网址| 激情五月丁香五月| 亚洲免费看片| 欧美日韩一区二区三区四区| 99热这里是精品| 99亚色色色| 欧美日韩大黄| 久久思思热视频| 激情五月天在线视频| 色五月丁香五月婷婷五月成人网| 天天日天天草| 69精品人人人人| 美日韩成人| 丁香婷婷狠狠97| 五月五月婷婷| 97操碰在线视频| 丁香五月成人| 丁香五月深爱五月婷婷| 日本VA视频| 五月丁香综合啪啪| 免费视频WWW在线观看网站| 婷婷五月丁香综合瑟瑟| 铁牛TV人妻| 98毛片| 成人丁香婷婷五月天| 淫视馆AV在线| av国产精品| 久草婷婷视频| 色婷婷狠狠18禁| 五月婷婷视频ab| www.日本91| 国产全是老熟女太爽了| 91大神在线免费看视频全集男男一起操| 香蕉久久国产av一区二区| 狠狠干五月天婷婷网| 精品一区二区三区木瓜| 婷婷五月天激情综合| 内射人妻视频国内| 停停综合色色| 日日躁夜夜躁狠狠久久AV| 永久天堂日本| 婷婷五月天综合久久| 天天草狠狠擦| 婷婷五月天天天| 狠狠色婷婷777| 伊人成综合五月婷婷| 久久99免费视屏| 婷婷.com| 日日夜夜天天| 性爱激情小说AV五月丁香花| 激情五月深爱五月| www.五月丁香| 疯狂做受XXXX高潮A片| 操日视频| 五月综合激情久久| 天天操天天干天天日| 99热精品免费| 五月丁香激情综合啪啪| 久热中文字幕在线线观看| 碰碰91| 国产精品男人AV不卡| 99色激| 免费视频99| 激情五月天婷婷| 久久久久98| 丁香欧美| 亚洲综合另类| 亚洲色激情| 久热这里只有精品在线| 久久女婷| 好看的国产精品| 性日本精品| 一本道在线电影| 狠狠色丁香久久久婷| 激情五月色婷婷| 人妻激情久久| 99超在线| 五月天婷婷视频| 69久久99精品久久久久| 亚洲精品五月| 9色在线| 99热日韩| 人人干女人| 无码一级片| 婷婷五月丁香成人| 五月天激情小说网| WWW.99热| 狼人婷婷综合| 欧美日韩成人在线免费| 五月天狠狠草| 91精品激情9| 国产阿姨日皮艹逼内射视频| 色情综合| 色婷久久| 97碰| 99啪99| 五月婷婷综合丁香视频| 97人人操com| 这里只有精品视频一区| 日韩一区二区A片免费观看 | 五月天婷婷三级黄| 99热国产这里只有精品| 97热在线精品| 丁香五婷婷| 激情都市丁香婷婷| 91九色无码内射| 99热99热在线| 碰碰碰碰碰99| 日日狠狠久久偷偷四色综合免费 | 五月天激情国产综合婷婷婷| 97精品在线| 性一交一乱一交A片久久四色| 丁香婷婷超碰| 一级二级色大片| 哇嘎成人久久| 天天激情| 五月天停婷基地| 草综合14| 人人操女人| 久9久成人精品视频| 亚洲综合在线播放| 任你爽精品免费视频6| 久久电影4399| 91日本在线观看| 九九热av| 日本高清久久| 日日婷婷不卡| 日B日潘金莲BB| 天天综合天综合| 色色色九九九五月婷婷| 丁香五月天啪啪激情综和网| 99热在线极品极品| 噜噜五月天综合| www.com亚洲网站在线免费| 97久久精品| 无码se| 五月激情啪啪| 久久99热精品a片在线观看| 日本色婷婷| 五月天成人在线| 激情婷婷护士激情| 五月天六月色| 婷婷五月天堂| 久久精品99国产精品日本| 婷婷播播五月天| 高清av在线国产| 国产亚洲色婷婷久久99精品91| 色婷婷久久天天性爱| 99色天堂| 99爱免费视频在线观看| 一区二区三区四区牛| 26uuu精品一区二区| 日本妈妈乱| 亚洲色就是色色色| 久久五月天婷婷| 久久视频婷婷视频| 99热在线观看| 色综合色综合色综合色综合| 婷婷99视频精品| 中字幕视频在线永久在线观看免费| 五月婷婷伊人久久| AV成人在线播放| 五月天偷拍| 九九热这里只有精品31| 91热视频色网站| 五月天婷婷綜合院| 日日天天操| 丁香六月婷婷色XXXXX| 久久五月婷| 9999色色色色| 色综合久久综合中文综合网| 成人片黄网站色大片免费毛片| 另类五月激情| 婷婷九月色| 91综合网| 俺去也五月| 天天爽日日爽夜夜爽| 五月丁香啪啪综合| 激情综合五月婷婷| 色欲一二三| 六月色日韩| 涩五月丝袜婷婷| 99自拍视频网站| 丁香激情婷婷网| 久久久www| 婷婷五月综合中文字幕| 开心婷婷五月激情网小说| 成人精品免费在线观看| 91丨九色丨东北熟女| 大地资源色婷婷视频在线| 97AV在线视频| 婷婷国产五月天17c| 天天色视频| 狠狠色综合精品视频在线| 99色综合网| 色蜜婷婷| 五月天丁香色色| 婷婷五月天色| 五月天.com| 超碰renrenai| 成人短视频在线观看| 亚洲综合欧美色丁香婷婷888月图片 | 激情五月天啪啪视频| 久久九九re热| 无遮羞AV| 六月婷久久| 婷婷五月色播放| 色色色色综合网| 丁香婷婷综合喷| 婷婷色导航| 无码区婷婷五月花开| 六月丁香综合999| 激情久久综合| 操97免费超级视频| 99ri精品在线观看| 国产精产国品一二三在观看| 九九99九九99| 99热这里有精品| 玖玖资源天天无码| 六月婷婷狠狠| 色啪网| 五月色婷婷影院| 婷五月天| 伊人免费视频9| 老司机伊人| 欧美色久| 丁香综合婷婷五月天| 久久久久久丁香五月| 6080av| 色色综合日韩| 亚洲色婷婷| 日韩av在线免费观看| 五月丁香久久色| 亚洲成人av在线观看| 91 欧美| 国产欧美日韩综合精品一区二区| 五月天激情国产综合婷婷婷| 嫩草视频在线观看| 在线中文亚洲| 色色 9| 婷婷激情六月天视频| 亚洲99手机免费看视频 | 国内精品99| 六月五月天婷婷涩播在线| 欧美性猛交AAAA片黑人 | www.色婷婷| 久久92| 成人综合视频在线| 九九无码| 极品另类| 97久久草草超级碰碰碰| www,色婷婷| 9月色婷婷| 激情综合色婷婷六月天| 久热网站| 丁香婷婷基地| 99re这里只有| 26UUU欧美激情一区二区| www.99热在线| 曰曰久久| 色色五月婷| 99人人干| 国产国产乱老熟女视频网站97| 国产精品色| 丁香六月婷婷综合麻豆| 丁香婷婷激情五月| 狠狠狠狠狠狠狠狠草| sewuyuejiqingwang| 99热视精品| 五月婷视屏在线观看| 5月婷婷激情在线| 99成人小视频| 久热免费视频| 99热碰碰热| 色五月激情| 91精品激情9| 激情五月天.色网| 怡红院成人AV| 五月成人丁香av91| 欧美在线视频9| 黄色激情久久| 丁香五月在线人妻| 激情丁香五月激情婷婷| 久久99成人性爱高清视频| 毛片色五月| 99操逼| 综合99综合久久久久久久| 91久久久久久| 大学生高潮无套内谢视频| 日本三级第一页| 91丨九色丨老农村| 亚洲综合成人网| 西瓜美女a片| 婷婷五月六| 色9999日韩国产| 狠狠干狠狠色| 国产亚洲精品久久久久久郑州| 狠狠一日| 日本免费91| ss五月天激情| 六月丁香婷婷五月| 久久婷婷五月综合激情国产| 99热最新网址| 97超碰色| 伊九九三级区| www.亚洲激情| 91九色熟女| 性做爰1一7伦| 男女啪啪做爰高潮无遮挡| 婷婷五月天丁香激情| 丁香婷婷六月婷婷六月婷婷六月婷婷| 婷婷中文字幕版| 婷婷五月综合社区| 日本精品人妻无码77777| 五月婷天堂视频| 国产99美少妇| 激情五月开心五月丁香五月| www.色综合| 国产免费一区二区三州老师F1……| 99热99美国在线观看| 亚洲一色色色色色色色色| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 激情五月综合色婷婷| 在线只有精品| 婷婷五月花| 色丁香五月| 99久久成人| 日韩av在线电影| 六月丁香啪啪啪| 无码一级片| 免费日韩99| 成人综合伍月天| 性爱综合网| 六月丁香婷婷色狠狠久久| 五月天六月天| 亚洲精品99| 久久久久视剧HD| 偷偷狠狠久久婷婷五月天| 激情网五月| 国产午夜精品AV一区二区麻豆| 日韩在线99| 久热这里只有精品视频免费观看| 亚洲色婷婷99一9|| 亚洲无码AV片| 婷婷久久五月| 成人丁香五月天Av| 九九人人操| 五月天婷婷情色| 另类激情五月| 亚洲综合在线视频| 婷婷99狠狠躁天天躁中文| 九九热99精品在线| 97久久视频| 婷婷五月丁香超碰| 激情开心五月亚洲| 人妻人人操| 色玖玖爱| 天天插综合| 日本V在线观看不卡视频网站| 婷婷色婷婷亚洲成人| 欧美狠狠色| 3p九色在线| 26UUU欧美激情一区二区| 亚洲五月婷| 99热久97| 囯产精品一品二区三区| 亚洲无码99| 香蕉国产2013| 国产综合网在线| 黄色片久久| 国产日韩欧美性生活| 欧美成人精品A片免费一区99| 五月婷婷丁香91| 日韩成人网站精品久久大全| 五月丁香成人视频| 久久色吧| 激情小说 五月天| 激情内射人妻1区2区3区| 性爱动图国产麻豆一区二区三区| 欧美日韩成人高清在线| 激情五月婷婷综合| 欧美五月丁香在线| 99在线观看| 日本少妇AA一级特黄大片| 婷婷瑟瑟五月天| 99九九这里有免费视频| 五月丁香婷色| 97干在线| 丁香六月AV| 丁香五月激情啪啪| 在线国产精品色| 久久久免费精彩视频| 色情五月天视频网| 亚洲天天| 色婷婷丁香网| 五月天婷婷久久| 日本熟女视频一区二区| 亚洲最大视频| 97五月天婷婷午夜| 色色五月天激情| 婷婷五月AV| 思思热99热| 婷五月丁香俺| 色婷五月天| 亚洲激情电影五月天色婷婷丁香一起草| 婷婷成人视频| 五月婷婷狠天天色综合| 成人综合网站| 夜夜爽日日躁| 婷婷色资源| 国产成人99久久亚洲综合精品| 丁香五月天影院| 九九热在线精品视频| 日韩欧美一道四区中文字幕| nvrentiantang av| 国产精品美女| www久| www.婷婷网| 国产毛片精品一区二区色欲黄A片| 森林影视大全,最好看的2019年视频| 免费黄网不卡AV| 久狠日av| 人人操婷婷| 丁香婷婷色色| 97精品综合| 亚洲亚洲人成综合网络| A网在线欧洲| 中文字幕婷婷在线| 超碰chaompinm| 色欲婷婷夜夜| 久99999热视频在线观看免费| 丁香五月,激情五月,深爱五月| 成人视频免费观看高清完整版在线观看| 六月婷婷综合| 五月丁香六月婷| 另类少妇人与禽zOZZ0性伦| 99热99这里只有精品| 色色五月天com| 国内外色色色色色成人视频| http://www.lingjunshare.com/ | 免费看欧美成人A片无码| 亚洲无码九九| 日本操碰碰| 狠狠干综合| 婷婷色五月天第7色| 婷婷9月天| 五月激情偷拍| 色狠狠五月天| 黄色中文字目| 五月天伊人综合| Av性爱网站| 久久大国产香蕉| 天天日天天干天天操| 九月色婷婷| Y11111111111少妇电影院| 色五月天激情| www色中色综合| 99re视频在线播放|