日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

地平線J6m部署YOLOv8s INT8量化精度驟降排查與優(yōu)化實(shí)踐

地平線J6m部署YOLOv8s INT8量化精度驟降排查與優(yōu)化實(shí)踐 1. 問題背景與排查思路拆解1.1 項(xiàng)目場(chǎng)景與精度下降現(xiàn)象地平線 J6m 這顆芯片在邊緣側(cè)推理場(chǎng)景里算是比較熱門的選擇算力夠用、功耗控制得也不錯(cuò)很多做智能座艙、輔助駕駛、工業(yè)質(zhì)檢的團(tuán)隊(duì)都在用它跑視覺模型。我這次接到的任務(wù)是把一個(gè)已經(jīng)訓(xùn)練好的 YOLOv8s 檢測(cè)模型部署到 J6m 上走的是 INT8 量化路線目標(biāo)是拿到比 FP16 更低的延遲和更高的吞吐。模型轉(zhuǎn)換鏈路是標(biāo)準(zhǔn)的PyTorch 權(quán)重導(dǎo)出 ONNX再用地平線工具鏈做量化編譯最后生成板端可執(zhí)行的 hbm 模型。整個(gè)流程跑下來沒有報(bào)錯(cuò)板端也能正常出框但問題出在精度上——mAP 從 FP32 的 0.72 左右掉到了 0.51掉了二十多個(gè)點(diǎn)這個(gè)幅度已經(jīng)不能用“量化正常損失”來解釋了。正常 INT8 量化在檢測(cè)模型上掉 1 到 3 個(gè)點(diǎn)是可以接受的掉 20 個(gè)點(diǎn)說明某個(gè)環(huán)節(jié)出了結(jié)構(gòu)性問題。我先做了幾組對(duì)照實(shí)驗(yàn)來定位問題范圍。第一組把同一份 ONNX 在 PC 端用 ONNX Runtime 跑 FP32 推理結(jié)果和 PyTorch 對(duì)齊說明導(dǎo)出環(huán)節(jié)沒問題。第二組用工具鏈的校準(zhǔn)集做量化后在 PC 端模擬器上跑 INT8 推理精度就已經(jīng)掉了說明問題出在量化階段而不是板端部署階段。第三組把量化配置里的某些層強(qiáng)制回退到 FP16精度有明顯回升這就把嫌疑范圍縮小到了特定算子或特定結(jié)構(gòu)上。排查這類問題我的習(xí)慣是先建立一條“基準(zhǔn)鏈路”也就是確保 FP32 全鏈路對(duì)齊然后再逐段替換成 INT8看哪一段引入的誤差最大。很多人一上來就盯著量化參數(shù)調(diào)其實(shí)方向錯(cuò)了得先確認(rèn)模型結(jié)構(gòu)本身在轉(zhuǎn)換后有沒有變形。1.2 為什么 INT8 量化對(duì)檢測(cè)模型特別敏感要理解這次精度下降得先搞清楚 INT8 量化到底在做什么。簡(jiǎn)單說量化就是把 FP32 的浮點(diǎn)數(shù)值映射到 8 位整數(shù)區(qū)間用一個(gè) scale 和一個(gè) zero_point 來描述這個(gè)映射關(guān)系。對(duì)于權(quán)重來說這個(gè)映射是靜態(tài)的校準(zhǔn)階段就能確定對(duì)于激活值來說映射依賴輸入數(shù)據(jù)的分布所以需要校準(zhǔn)集來統(tǒng)計(jì)。檢測(cè)模型和分類模型不一樣它的輸出包含分類分支和回歸分支。分類分支對(duì)量化相對(duì)魯棒因?yàn)樽罱K取的是 argmax數(shù)值上的小擾動(dòng)不太影響類別判定。但回歸分支就麻煩了尤其是 YOLOv8 用的 DFLDistribution Focal Loss結(jié)構(gòu)它把邊界框回歸建模成一個(gè)離散分布每個(gè)邊對(duì)應(yīng)一組 logits最后通過期望計(jì)算得到連續(xù)坐標(biāo)。這個(gè)期望計(jì)算對(duì) logits 的數(shù)值精度非常敏感一旦量化誤差讓分布形狀發(fā)生偏移回歸出來的框就會(huì)明顯跑偏。另外YOLOv8 的檢測(cè)頭里還有 Sigmoid、Concat、Reshape 這些操作它們本身不引入量化誤差但會(huì)影響量化工具對(duì)前后算子的融合策略。如果融合沒做好中間就會(huì)插入額外的量化/反量化節(jié)點(diǎn)每一次轉(zhuǎn)換都會(huì)帶來精度損失。J6m 的工具鏈在這方面有自己的融合規(guī)則不是所有 ONNX 算子組合都能被完美識(shí)別。還有一個(gè)容易被忽略的點(diǎn)是校準(zhǔn)集的選擇。很多人隨便拿幾十張訓(xùn)練集圖片就當(dāng)校準(zhǔn)集用了但校準(zhǔn)集的數(shù)據(jù)分布必須和實(shí)際推理場(chǎng)景接近否則統(tǒng)計(jì)出來的激活范圍會(huì)偏導(dǎo)致量化后的數(shù)值大量落在有效區(qū)間之外。我這次一開始用的校準(zhǔn)集就是從訓(xùn)練集里隨機(jī)抽的后來?yè)Q成驗(yàn)證集里更有代表性的樣本精度就有改善雖然沒完全解決問題但說明校準(zhǔn)集確實(shí)是個(gè)變量。1.3 排查路線從 ONNX 到板端的逐段驗(yàn)證我的排查路線分四步走。第一步確認(rèn) ONNX 模型本身的結(jié)構(gòu)和數(shù)值正確性用 Netron 看計(jì)算圖用 ONNX Runtime 跑數(shù)值對(duì)齊。第二步檢查量化配置重點(diǎn)看哪些層被量化、哪些層被跳過、校準(zhǔn)算法用的是什么。第三步在 PC 模擬器上做逐層誤差分析找出誤差最大的那幾個(gè)算子。第四步針對(duì)問題算子做結(jié)構(gòu)調(diào)整或量化策略調(diào)整重新編譯驗(yàn)證。這條路線的好處是每一步都有明確的輸入輸出不會(huì)陷入“改了參數(shù)看結(jié)果”的盲目試錯(cuò)。下面我按這個(gè)順序把每個(gè)環(huán)節(jié)的細(xì)節(jié)展開講。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 ONNX 導(dǎo)出環(huán)節(jié)的隱藏陷阱ONNX 導(dǎo)出看起來是最簡(jiǎn)單的一步但其實(shí)坑不少。YOLOv8 的官方導(dǎo)出腳本用的是ultralytics庫(kù)默認(rèn)導(dǎo)出的 ONNX 是 opset 17輸入是1x3x640x640。這里第一個(gè)要注意的是動(dòng)態(tài)軸的問題。如果你導(dǎo)出時(shí)開了 dynamic batchONNX 里會(huì)有dynamic_axes標(biāo)記地平線工具鏈對(duì)動(dòng)態(tài) shape 的支持有限可能會(huì)導(dǎo)致某些算子無法融合。我建議部署到 J6m 時(shí)先把 batch 固定成 1等精度對(duì)齊后再考慮動(dòng)態(tài) batch。第二個(gè)坑是 DFL 結(jié)構(gòu)的導(dǎo)出方式。YOLOv8 的檢測(cè)頭里DFL 模塊在 PyTorch 里是一個(gè)softmax加conv再加sum的組合導(dǎo)出到 ONNX 后可能變成SoftmaxConvReduceSum或者被優(yōu)化成MatMul形式。不同導(dǎo)出方式對(duì)量化的友好程度不一樣。我實(shí)測(cè)下來如果 DFL 被導(dǎo)出成Softmax后面直接接Conv量化工具會(huì)把 Softmax 的輸出當(dāng)成激活值來統(tǒng)計(jì)而 Softmax 輸出的分布非常集中量化 scale 會(huì)偏小導(dǎo)致后續(xù) Conv 的輸入精度損失嚴(yán)重。第三個(gè)坑是后處理。有些導(dǎo)出腳本會(huì)把 NMS 也導(dǎo)進(jìn) ONNX這樣模型輸出就是最終框。但地平線工具鏈對(duì) NMS 的支持有自己的實(shí)現(xiàn)如果你在 ONNX 里帶了 NMS工具鏈可能會(huì)用自定義算子替換替換過程中量化策略可能不一致。我的做法是 ONNX 只導(dǎo)出到檢測(cè)頭輸出NMS 放在板端用 CPU 做這樣量化范圍可控。檢查 ONNX 結(jié)構(gòu)我一般用兩個(gè)工具Netron 看圖結(jié)構(gòu)ONNX Runtime 跑數(shù)值。Netron 里重點(diǎn)看有沒有多余的QuantizeLinear/DequantizeLinear節(jié)點(diǎn)如果有說明導(dǎo)出時(shí)已經(jīng)帶了量化信息需要清理掉重新導(dǎo)出。ONNX Runtime 那邊我會(huì)寫一個(gè)簡(jiǎn)單的 Python 腳本把 PyTorch 的輸出和 ONNX 的輸出做逐元素對(duì)比確保 max diff 在 1e-4 以內(nèi)。import onnxruntime as ort import torch import numpy as np # PyTorch 推理 model torch.load(yolov8s.pt) model.eval() dummy torch.randn(1, 3, 640, 640) with torch.no_grad(): pt_out model(dummy).numpy() # ONNX Runtime 推理 sess ort.InferenceSession(yolov8s.onnx) onnx_out sess.run(None, {images: dummy.numpy()})[0] # 數(shù)值對(duì)比 diff np.abs(pt_out - onnx_out) print(fmax diff: {diff.max():.6f}, mean diff: {diff.mean():.6f})這段腳本跑下來如果 max diff 超過 1e-3就說明導(dǎo)出有問題得回去檢查導(dǎo)出參數(shù)。我這次跑出來是 2e-5說明導(dǎo)出環(huán)節(jié)是干凈的。2.2 量化配置的關(guān)鍵參數(shù)解讀地平線工具鏈的量化配置一般是一個(gè) YAML 文件里面有幾個(gè)關(guān)鍵字段需要重點(diǎn)關(guān)注。第一個(gè)是calibration_type常見的有kl、max、percentile幾種。KL 散度校準(zhǔn)適合激活分布比較集中的模型max 校準(zhǔn)簡(jiǎn)單粗暴但對(duì)異常值敏感percentile 是折中方案。YOLOv8 的激活分布在不同層差異很大我建議先用percentile跑一版再對(duì)比kl的效果。第二個(gè)是per_channel開關(guān)。權(quán)重量化默認(rèn)是 per-channel 的也就是每個(gè)輸出通道有獨(dú)立的 scale這對(duì)精度有好處。但激活量化通常是 per-tensor 的因?yàn)榧せ钪翟谕评頃r(shí)是動(dòng)態(tài)的沒法提前知道每個(gè)通道的范圍。如果你發(fā)現(xiàn)某一層的激活量化誤差特別大可以考慮把這層加到skip_layers里讓它保持 FP16。第三個(gè)是skip_layers列表。這個(gè)列表里的層不會(huì)被量化保持浮點(diǎn)精度。我這次排查發(fā)現(xiàn)把 DFL 相關(guān)的幾個(gè) Conv 層加進(jìn)去后精度從 0.51 回升到了 0.63說明這些層確實(shí)是精度瓶頸。但全部跳過又會(huì)導(dǎo)致速度下降太多所以需要在精度和速度之間找平衡。第四個(gè)是calibration_dataset的配置。校準(zhǔn)集一般準(zhǔn)備 100 到 500 張圖片太少統(tǒng)計(jì)不準(zhǔn)太多沒必要。圖片要從實(shí)際推理場(chǎng)景里選覆蓋不同的光照、角度、目標(biāo)尺度。我這次用了 200 張驗(yàn)證集圖片比之前隨機(jī)抽的 50 張訓(xùn)練集圖片效果好很多。還有一個(gè)細(xì)節(jié)是input_type和input_shape的配置。J6m 工具鏈要求輸入是 NHWC 格式而 ONNX 默認(rèn)是 NCHW轉(zhuǎn)換過程中會(huì)插入 transpose 操作。如果 transpose 的位置不對(duì)可能會(huì)影響前后算子的融合。我建議在導(dǎo)出 ONNX 時(shí)就把輸入改成 NHWC或者在量化配置里明確指定 transpose 的位置。2.3 DFL 結(jié)構(gòu)對(duì)量化的影響機(jī)制DFL 是這次問題的核心值得單獨(dú)拿出來講。YOLOv8 的邊界框回歸不是直接預(yù)測(cè)四個(gè)坐標(biāo)值而是預(yù)測(cè)每個(gè)邊的離散分布。具體來說每個(gè)邊預(yù)測(cè) 16 個(gè) logits經(jīng)過 Softmax 變成概率分布然后用0, 1, 2, ..., 15做加權(quán)求和得到期望值也就是最終的坐標(biāo)偏移。這個(gè)結(jié)構(gòu)對(duì)量化的敏感性來自兩個(gè)方面。第一Softmax 的輸出是概率值范圍在 0 到 1 之間而且大部分值集中在很小的區(qū)間里。量化工具在校準(zhǔn)時(shí)會(huì)統(tǒng)計(jì) Softmax 輸出的范圍如果大部分值都在 0.01 到 0.1 之間scale 就會(huì)設(shè)得很小導(dǎo)致量化后的分辨率不夠概率分布的細(xì)節(jié)丟失。第二加權(quán)求和那一步涉及乘加運(yùn)算如果 logits 的量化誤差導(dǎo)致概率分布偏移期望值就會(huì)偏離真實(shí)值而且這個(gè)偏差會(huì)隨著分布寬度的增加而放大。我做過一個(gè)實(shí)驗(yàn)把 DFL 的 Softmax 輸出單獨(dú)拿出來看量化前后的差異。量化前某個(gè)邊的概率分布峰值在 index 7 附近量化后峰值跑到了 index 5期望值差了將近 2 個(gè)像素。對(duì)于小目標(biāo)來說2 個(gè)像素的偏差可能就導(dǎo)致框完全偏出目標(biāo)。解決思路有幾個(gè)方向。一是把 DFL 的 Softmax 和后續(xù)的加權(quán)求和整體作為一個(gè)自定義算子不讓量化工具拆開處理。地平線工具鏈支持自定義算子注冊(cè)但需要寫一些配置代碼。二是把 DFL 相關(guān)的層全部跳過量化保持 FP16代價(jià)是這部分計(jì)算會(huì)慢一些但 DFL 的計(jì)算量本身不大對(duì)整體延遲影響有限。三是在訓(xùn)練階段做量化感知訓(xùn)練QAT讓模型提前適應(yīng)量化誤差但這次項(xiàng)目時(shí)間緊沒來得及做 QAT。我最后采用的是第二種方案把 DFL 的四個(gè)輸出分支對(duì)應(yīng)的 Conv 層加到skip_layers里同時(shí)把 Softmax 也跳過。這樣精度回升到了 0.68雖然還沒到 FP32 的 0.72但已經(jīng)可以接受了。剩下的 4 個(gè)點(diǎn)損失主要來自 backbone 和 neck 部分的量化這部分用 percentile 校準(zhǔn)后還能再找回 1 到 2 個(gè)點(diǎn)。2.4 校準(zhǔn)集構(gòu)建的實(shí)操經(jīng)驗(yàn)校準(zhǔn)集這塊我踩過坑值得多說幾句。一開始我圖省事直接從訓(xùn)練集里隨機(jī)抽了 50 張圖片結(jié)果量化后精度只有 0.51。后來分析發(fā)現(xiàn)訓(xùn)練集里的圖片分布很不均勻有些場(chǎng)景的圖片特別多有些場(chǎng)景幾乎沒有導(dǎo)致校準(zhǔn)統(tǒng)計(jì)出來的激活范圍偏向某些特定場(chǎng)景。第二次我改用驗(yàn)證集因?yàn)轵?yàn)證集的分布更接近實(shí)際測(cè)試場(chǎng)景。但驗(yàn)證集只有 200 張我全用了。效果有改善精度到了 0.55但還是不夠。第三次我做了一個(gè)改進(jìn)把驗(yàn)證集按場(chǎng)景分類每個(gè)場(chǎng)景抽等量的圖片保證校準(zhǔn)集的分布均衡。同時(shí)我還在校準(zhǔn)前對(duì)圖片做了和推理時(shí)一樣的前處理包括 resize、歸一化、通道轉(zhuǎn)換確保輸入分布一致。這里有個(gè)細(xì)節(jié)容易被忽略校準(zhǔn)時(shí)的前處理必須和推理時(shí)完全一致。如果你在校準(zhǔn)時(shí)用了 letterbox 填充推理時(shí)也必須是 letterbox如果你在校準(zhǔn)時(shí)把圖片歸一化到 0 到 1推理時(shí)也得一樣。我見過有人校準(zhǔn)時(shí)用 0 到 255 的原始像素推理時(shí)用 0 到 1 的歸一化值量化 scale 直接偏了 255 倍精度不掉才怪。另外校準(zhǔn)集的數(shù)量也不是越多越好。我試過用 500 張和 200 張的效果差不多但校準(zhǔn)時(shí)間多了不少。一般來說100 到 300 張足夠覆蓋主要場(chǎng)景了。如果模型特別大或者場(chǎng)景特別復(fù)雜可以適當(dāng)增加但沒必要超過 500 張。還有一個(gè)技巧是校準(zhǔn)集的多樣性。除了不同場(chǎng)景還要覆蓋不同的目標(biāo)尺度、不同的光照條件、不同的遮擋程度。我這次在校準(zhǔn)集里特意加入了一些小目標(biāo)密集的圖片和一些低光照?qǐng)D片因?yàn)檫@些場(chǎng)景下激活值的分布和普通場(chǎng)景差異很大如果不覆蓋量化后這些場(chǎng)景的精度會(huì)掉得特別厲害。3. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 環(huán)境準(zhǔn)備與工具鏈版本確認(rèn)動(dòng)手之前先把環(huán)境理清楚這一步很多人會(huì)跳過但版本不匹配導(dǎo)致的玄學(xué)問題特別多。我這次用的工具鏈?zhǔn)堑仄骄€官方發(fā)布的版本具體版本號(hào)在hb_mapper的--version里能看到。ONNX 的版本是 1.14ONNX Runtime 是 1.15PyTorch 是 2.0。這幾個(gè)版本之間的兼容性我提前查過沒有已知的沖突。工具鏈安裝完之后先跑一個(gè)官方的示例模型確認(rèn)整個(gè)流程能走通。官方示例一般是一個(gè)簡(jiǎn)單的分類模型量化后精度損失很小。如果示例都跑不通那說明環(huán)境有問題先解決環(huán)境再搞自己的模型。我這次跑示例花了大概半小時(shí)確認(rèn)沒問題后才開始處理 YOLOv8s。環(huán)境準(zhǔn)備里還有一個(gè)容易忽略的點(diǎn)是 Python 環(huán)境。地平線工具鏈對(duì) Python 版本有要求一般是 3.8 到 3.10。我建議用 conda 建一個(gè)獨(dú)立環(huán)境避免和系統(tǒng)里的其他包沖突。依賴包也要按官方文檔的版本裝不要圖省事直接pip install最新版版本不匹配的報(bào)錯(cuò)往往很難排查。3.2 ONNX 模型導(dǎo)出與結(jié)構(gòu)檢查導(dǎo)出 ONNX 我用的是ultralytics庫(kù)自帶的導(dǎo)出腳本命令很簡(jiǎn)單yolo export modelyolov8s.pt formatonnx imgsz640 opset17 simplifyTrue這里simplifyTrue會(huì)調(diào)用onnx-simplifier做圖優(yōu)化把一些冗余算子合并掉。但要注意simplify有時(shí)候會(huì)把 DFL 的結(jié)構(gòu)改掉導(dǎo)致量化工具識(shí)別不了。我建議先導(dǎo)出一版不 simplify 的用 Netron 看清楚原始結(jié)構(gòu)再導(dǎo)出一版 simplify 的做對(duì)比。如果 simplify 后結(jié)構(gòu)變化太大就用手動(dòng)方式做必要的優(yōu)化。導(dǎo)出完成后用 Netron 打開 ONNX 文件重點(diǎn)看幾個(gè)地方。第一輸入節(jié)點(diǎn)的 shape 是不是1x3x640x640數(shù)據(jù)類型是不是 float32。第二檢測(cè)頭的輸出是不是三個(gè)分支分別對(duì)應(yīng) stride 8、16、32。第三DFL 部分的結(jié)構(gòu)是不是Softmax后面接Conv或者M(jìn)atMul。第四有沒有多余的Cast、Reshape、Transpose節(jié)點(diǎn)這些節(jié)點(diǎn)會(huì)影響融合。我這次導(dǎo)出的 ONNX 里DFL 部分是一個(gè)Softmax接一個(gè)ConvConv 的權(quán)重是1x16x1x1相當(dāng)于對(duì) 16 個(gè)通道做加權(quán)求和。這個(gè)結(jié)構(gòu)本身沒問題但量化工具會(huì)把 Softmax 的輸出當(dāng)成激活值來統(tǒng)計(jì)這就是精度損失的來源。檢查完結(jié)構(gòu)后跑一遍 ONNX Runtime 的數(shù)值對(duì)齊確認(rèn)和 PyTorch 的輸出一致。我前面給的腳本可以直接用注意輸入名稱要和 ONNX 里的輸入節(jié)點(diǎn)名稱一致。如果 max diff 在 1e-4 以內(nèi)就可以進(jìn)入下一步了。3.3 量化配置編寫與校準(zhǔn)執(zhí)行量化配置我寫了一個(gè) YAML 文件核心內(nèi)容如下model: input_type: nhwc input_shape: [1, 640, 640, 3] output_names: [output0, output1, output2] calibration: calibration_type: percentile percentile: 99.99 calibration_dataset: ./calib_images num_samples: 200 quantization: per_channel: true skip_layers: - /model.22/cv2.0/cv2.0.2/Conv - /model.22/cv2.1/cv2.1.2/Conv - /model.22/cv2.2/cv2.2.2/Conv - /model.22/cv3.0/cv3.0.2/Conv - /model.22/cv3.1/cv3.1.2/Conv - /model.22/cv3.2/cv3.2.2/Conv這里的skip_layers就是 DFL 相關(guān)的 Conv 層。層名稱可以從 Netron 里復(fù)制注意要寫完整的路徑。calibration_type我選了percentilepercentile值設(shè)成 99.99意思是把激活值范圍的第 99.99 百分位作為量化上限這樣可以過濾掉極端異常值。校準(zhǔn)集的準(zhǔn)備我寫了一個(gè)腳本把驗(yàn)證集圖片按場(chǎng)景分類每個(gè)場(chǎng)景抽等量圖片統(tǒng)一 resize 到 640x640做 letterbox 填充歸一化到 0 到 1最后保存成 numpy 數(shù)組或者圖片文件。工具鏈一般支持直接讀圖片文件夾但要求圖片格式和推理時(shí)一致。執(zhí)行量化的命令是hb_mapper makertbin --config yolov8s_config.yaml --model-type onnx這個(gè)過程會(huì)先做校準(zhǔn)統(tǒng)計(jì)每一層的激活范圍然后生成量化模型。校準(zhǔn)時(shí)間取決于模型大小和校準(zhǔn)集數(shù)量YOLOv8s 加 200 張圖片大概跑了 10 分鐘左右。跑完后會(huì)生成一個(gè)量化后的 ONNX 或者 hbm 文件還有一個(gè)精度報(bào)告。精度報(bào)告里會(huì)列出每一層的量化誤差重點(diǎn)看cosine_similarity和max_abs_error這兩個(gè)指標(biāo)。如果某一層的 cosine similarity 低于 0.99說明這層的量化誤差比較大可以考慮加到skip_layers里。我這次報(bào)告里 DFL 相關(guān)層的 cosine similarity 只有 0.95 左右其他層都在 0.99 以上這就驗(yàn)證了我的判斷。3.4 板端部署與精度驗(yàn)證量化完成后把生成的 hbm 模型推到板端用地平線的推理接口加載。板端推理的代碼框架官方有示例主要是初始化模型、準(zhǔn)備輸入、執(zhí)行推理、解析輸出這幾步。輸入數(shù)據(jù)要和校準(zhǔn)時(shí)一致NHWC 格式float32 類型歸一化到 0 到 1。精度驗(yàn)證我用的是 COCO 驗(yàn)證集的一個(gè)子集大概 500 張圖片覆蓋不同的目標(biāo)類別和尺度。評(píng)測(cè)指標(biāo)用 mAP0.5 和 mAP0.5:0.95。FP32 的基準(zhǔn)是 0.72 和 0.52量化后如果 mAP0.5 能到 0.68 以上mAP0.5:0.95 能到 0.48 以上就算達(dá)標(biāo)了。我這次最終跑出來是 mAP0.5 為 0.68mAP0.5:0.95 為 0.47比 FP32 分別掉了 4 個(gè)點(diǎn)和 5 個(gè)點(diǎn)。這個(gè)損失在 INT8 量化里算是正常范圍尤其是檢測(cè)模型。如果業(yè)務(wù)對(duì)精度要求特別高可以考慮混合量化也就是部分層 INT8、部分層 FP16但速度會(huì)有所下降。板端推理的延遲我也測(cè)了INT8 比 FP16 快了大概 40%單幀推理時(shí)間從 12ms 降到了 7ms 左右。這個(gè)提升對(duì)于實(shí)時(shí)性要求高的場(chǎng)景很有價(jià)值比如 30fps 的視頻流FP16 可能勉強(qiáng)夠用INT8 就有足夠的余量了。4. 常見問題與排查技巧實(shí)錄4.1 精度下降問題的速查表排查精度問題我整理了一個(gè)速查表按可能性從高到低排列遇到問題可以按這個(gè)順序查。問題現(xiàn)象可能原因排查方法解決思路精度掉 20 個(gè)點(diǎn)以上模型結(jié)構(gòu)在轉(zhuǎn)換后變形Netron 對(duì)比 ONNX 和原始模型結(jié)構(gòu)重新導(dǎo)出關(guān)閉 simplify精度掉 10 到 20 個(gè)點(diǎn)DFL 或 Softmax 層量化誤差大看精度報(bào)告里的 cosine similarity把這些層加入 skip_layers精度掉 5 到 10 個(gè)點(diǎn)校準(zhǔn)集分布不匹配檢查校準(zhǔn)集和推理輸入的前處理重新構(gòu)建校準(zhǔn)集精度掉 3 到 5 個(gè)點(diǎn)量化參數(shù)不合適對(duì)比不同 calibration_type換用 percentile 或 kl精度掉 1 到 3 個(gè)點(diǎn)正常量化損失無需排查可接受或做 QAT 進(jìn)一步優(yōu)化板端和模擬器精度不一致板端前處理或后處理有差異對(duì)比板端和 PC 端的輸入輸出統(tǒng)一前處理和后處理邏輯這個(gè)表是我踩了多次坑之后總結(jié)的基本上覆蓋了常見的精度問題。實(shí)際排查時(shí)先看精度掉了多少然后按表里的順序查能省不少時(shí)間。4.2 幾個(gè)容易忽略的細(xì)節(jié)問題第一個(gè)細(xì)節(jié)是輸入數(shù)據(jù)的 layout。ONNX 默認(rèn)是 NCHW但 J6m 工具鏈要求 NHWC。如果你在量化配置里寫了input_type: nhwc但 ONNX 模型本身是 NCHW工具鏈會(huì)自動(dòng)插入 transpose。這個(gè) transpose 的位置很關(guān)鍵如果插在了量化節(jié)點(diǎn)之后可能會(huì)導(dǎo)致量化 scale 不匹配。我建議在導(dǎo)出 ONNX 時(shí)就把輸入改成 NHWC或者在量化配置里明確指定 transpose 的位置。第二個(gè)細(xì)節(jié)是輸出節(jié)點(diǎn)的選擇。YOLOv8 的 ONNX 輸出可能有多個(gè)節(jié)點(diǎn)包括檢測(cè)頭的原始輸出和后處理后的輸出。如果你把后處理也導(dǎo)進(jìn)了 ONNX量化工具可能會(huì)對(duì) NMS 部分做量化而 NMS 涉及排序和閾值比較量化后行為可能不一致。我的做法是只導(dǎo)出檢測(cè)頭的原始輸出NMS 放在板端用 CPU 做。第三個(gè)細(xì)節(jié)是校準(zhǔn)集的圖片格式。工具鏈一般支持 JPG、PNG 等常見格式但要求圖片的通道順序和模型輸入一致。如果你用 OpenCV 讀圖片默認(rèn)是 BGR 順序而模型訓(xùn)練時(shí)用的是 RGB這就會(huì)導(dǎo)致顏色通道錯(cuò)位量化 scale 偏掉。我建議在校準(zhǔn)腳本里顯式做 BGR 到 RGB 的轉(zhuǎn)換確保和訓(xùn)練時(shí)一致。第四個(gè)細(xì)節(jié)是量化后的模型大小。INT8 量化后模型大小應(yīng)該比 FP32 小 4 倍左右如果發(fā)現(xiàn)模型大小沒怎么變說明量化沒生效可能配置寫錯(cuò)了或者工具鏈沒識(shí)別到。我這次量化后模型從 22MB 降到了 6MB 左右符合預(yù)期。4.3 混合量化的取舍經(jīng)驗(yàn)混合量化是精度和速度之間的折中方案。我的經(jīng)驗(yàn)是優(yōu)先把以下幾類層保持 FP16一是 DFL 相關(guān)的層前面已經(jīng)講過原因二是檢測(cè)頭的最后幾層因?yàn)檫@些層直接決定輸出精度三是模型里數(shù)值范圍特別大的層比如某些激活函數(shù)輸出范圍很寬的層。哪些層可以放心用 INT8 呢backbone 里的卷積層一般沒問題因?yàn)樘卣鲌D的數(shù)值分布比較穩(wěn)定neck 里的上采樣和 concat 層也可以量化這些操作本身不引入數(shù)值誤差還有一些 BN 層通常會(huì)被融合到卷積里不需要單獨(dú)考慮?;旌狭炕呐渲梅椒ㄊ窃趕kip_layers里列出要保持 FP16 的層。但要注意跳過的層越多速度越慢。我這次跳過了 6 個(gè) DFL 相關(guān)的 Conv 層速度比全 INT8 慢了大概 15%但精度回升了 17 個(gè)點(diǎn)這個(gè) trade-off 是值得的。如果業(yè)務(wù)對(duì)速度要求特別高可以考慮只跳過最關(guān)鍵的 2 到 3 層其他層用 INT8。具體跳過哪幾層可以看精度報(bào)告里的 cosine similarity優(yōu)先跳過 similarity 最低的那幾層。我這次試過只跳過 3 層精度是 0.64速度比跳過 6 層快了 8% 左右也算是一個(gè)可選的方案。4.4 從這次排查中總結(jié)的實(shí)操心得這次排查花了大概三天時(shí)間踩了不少坑也積累了一些經(jīng)驗(yàn)。第一個(gè)心得是遇到精度問題不要急著調(diào)量化參數(shù)先確認(rèn)模型結(jié)構(gòu)在轉(zhuǎn)換后有沒有變形。我一開始就是直接調(diào)calibration_type從max換到kl再換到percentile精度只波動(dòng)了 1 到 2 個(gè)點(diǎn)根本問題沒解決。后來用 Netron 仔細(xì)看結(jié)構(gòu)才發(fā)現(xiàn) DFL 部分的量化策略有問題。第二個(gè)心得是校準(zhǔn)集的質(zhì)量比數(shù)量重要。我試過用 500 張隨機(jī)圖片效果不如 200 張精心挑選的圖片。校準(zhǔn)集要覆蓋實(shí)際推理場(chǎng)景的主要變化包括光照、角度、目標(biāo)尺度、遮擋程度等。如果場(chǎng)景特別復(fù)雜可以分場(chǎng)景構(gòu)建多個(gè)校準(zhǔn)集分別量化后對(duì)比效果。第三個(gè)心得是精度報(bào)告要認(rèn)真看。工具鏈生成的精度報(bào)告里有很多有用信息比如每一層的 cosine similarity、max abs error、量化前后的數(shù)值范圍對(duì)比。這些信息能幫你快速定位問題層而不是盲目試錯(cuò)。我這次就是通過精度報(bào)告發(fā)現(xiàn) DFL 層的 similarity 只有 0.95其他層都在 0.99 以上才確定了問題方向。第四個(gè)心得是板端驗(yàn)證不能省。PC 模擬器的結(jié)果和板端有時(shí)候會(huì)有差異尤其是涉及自定義算子或者特殊融合策略的時(shí)候。我這次在 PC 模擬器上精度是 0.68板端跑出來也是 0.68說明一致性沒問題。但如果模擬器和板端不一致就要檢查板端的前處理和后處理邏輯看看有沒有和 PC 端不一樣的地方。第五個(gè)心得是保留一份完整的排查記錄。我這次把每一步的配置、命令、輸出、精度結(jié)果都記下來了包括失敗的嘗試。這樣后面再遇到類似問題可以直接翻記錄不用重新踩坑。而且記錄本身也能幫你理清思路避免在多個(gè)變量之間來回切換。4.5 后續(xù)可優(yōu)化的方向這次排查解決了主要問題但還有一些優(yōu)化空間。第一個(gè)方向是 QAT也就是量化感知訓(xùn)練。在訓(xùn)練階段就模擬量化誤差讓模型提前適應(yīng)這樣量化后的精度損失會(huì)更小。QAT 一般能比 PTQ 多找回 2 到 3 個(gè)點(diǎn)但需要重新訓(xùn)練模型時(shí)間成本比較高。第二個(gè)方向是自定義算子。地平線工具鏈支持注冊(cè)自定義算子可以把 DFL 的 Softmax 和加權(quán)求和整體作為一個(gè)算子避免量化工具拆開處理。這樣既能保持 INT8 的速度又能避免精度損失。但自定義算子的開發(fā)需要熟悉工具鏈的算子接口有一定的學(xué)習(xí)成本。第三個(gè)方向是校準(zhǔn)算法的改進(jìn)。除了 percentile 和 kl還有一些更高級(jí)的校準(zhǔn)算法比如基于熵的校準(zhǔn)、基于梯度的校準(zhǔn)等。這些算法在某些模型上效果更好但需要額外的實(shí)現(xiàn)和驗(yàn)證。如果項(xiàng)目對(duì)精度要求特別高可以嘗試這些方法。第四個(gè)方向是模型結(jié)構(gòu)的調(diào)整。如果 DFL 結(jié)構(gòu)對(duì)量化太敏感可以考慮在訓(xùn)練階段換一種回歸方式比如直接回歸坐標(biāo)值而不是用分布。但這樣會(huì)改變模型結(jié)構(gòu)需要重新訓(xùn)練和驗(yàn)證適合新項(xiàng)目而不是已有項(xiàng)目的優(yōu)化。這次排查讓我對(duì)邊緣側(cè) INT8 量化有了更深的理解尤其是檢測(cè)模型和分類模型的差異。分類模型量化后精度損失通常很小但檢測(cè)模型因?yàn)榛貧w分支的存在對(duì)量化誤差更敏感。DFL 這種結(jié)構(gòu)雖然提升了檢測(cè)精度但也增加了量化的難度。后續(xù)再做類似項(xiàng)目我會(huì)在模型選型階段就考慮量化友好性盡量選擇對(duì)量化不敏感的結(jié)構(gòu)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91久久免费视频互動交流| 色五月AV| 91老司机视频| 日本曲间由美性生活片| 亚洲日韩美女中文字幕乱| 999九九九九国产动| 国产精品制服丝袜清纯唯美| 久久久96| 久操电影网| 蜜臀少妇一区二区| 91在线页| 色情乱伦AV| 色欲久久99国产精品久久久久久| 久久久女人| 97自拍一区| 天天日天天看| 午夜小电影在线插入淫高潮| 欧美性少妇| 黄色二级片网站| 日本一级婬片试看三分钟| 亚洲激情视频| 国产传媒日韩欧美| J?P?NESEHD熟女熟妇伦| 国语精品av| 日韩 成人 有码| 久久久影院| 久久婷婷精品| 久久一区二区三区入口| 再深点灬舒服灬太大了好硬好爽| 欧美亚洲第一页| 另类天堂| 日韩熟女三十乱伦| aV中亚| 欧美日韩小说| 四虎av在线| 国产精品午夜福利视频| 怡红院成人av| 深喉吞精| 日韩欧视频| 97人亚洲综合字幕| 久久人体一区二区| 亚洲素人综合| 青青草中出视频| 中文一区在线日| 青青草成人视频在线观看二区| 超碰79人人乐| 精品久久久久久亚洲| 亚洲黑丝在线| 艹我哪美一区无码| 蜜桃精品视频一区| 人妻一区久久二区三区色播| 老熟女熟妇| 天天综合网91入口| 国产女人9999| 欧美姓爱综合网| 51一区二区三区| 少妇特黄一区二区三区| 男人天堂导航| 午夜男女爽爽大片免费观看| 国产精品无码av| 久久夜黄色无码A级大片| 91在线视频免费播放| 亞洲久久直播| 97干在线看| 日本超碰在线国产一区| 麻豆婷婷成人一二三| 国产专区路线| 久久在肏| 大香蕉免费3| 国产日韩在线播放av| 天天色综亚洲91污| 激激五月| 精品二区久久| 91久久久亚洲| 国产黄片精品在线| 素人播放一区| 久久久久密臀视频| 99无码| 9 7超碰在线免费观看| 天天做天天爱天天高潮| 亚洲日韩av专区无码| 国产成人 综合亚洲 天堂| 免费看片黄| 成 人片 黄色大片| 网页导航五月天免费一二三区| wwwcaobibi| 这里只有精品视频在线| 久九九九九九九热| 九九九九一级| 呦呦一区| 操屄不卡视频| 五月丁香啪啪啪| 久久97资源 网| 日本精品一区二区三| 久肏视频字幕| 免费的黄片有限公司| 在线观看亚洲专区| 亚洲男人的天堂网| 日韩熟女无码| 五月天婷精品激情| 射丝袜高跟鞋99| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 一二三区精品视频| 精产国品一区二三产品| 蜜桃久久一区二区| 国产在线精品偷| 狠狠干精品一二三四五六2022| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲αv一区二区三区| 亚洲丝袜二区| 国产97综合| 国产超碰在线| 久偷拍欧美日韩三区| 日本韩国五十路六十路七十路老熟女作爱视频网站| 日韩熟女乱伦中出| 激情开心五月天| 麻豆av一区二区三区| 麻豆天天躁天天揉揉AV| 欧美日韩一区二区三区四区蜜桃| 玖玖蜜臀资源网| 欧美综合1性辶| 综合欧美激情网| 天天影视激情欧美| 成人性爱免费播放| 91亚州日韩高清| 凹凸 69堂 在线播放| 天天色天天干天天射| 北条麻妃99精品青青久久| 少妇熟女视频一区二区三区 | 大胆91| 乱色老一区二区三区的观看方式| 国产av波波国产精品| 国产原创剧情在线丝袜 | 最近2018中文字幕在线高清第一页 | 久久久久国产精品片区无码直播| 超碰地址97| 国产美女在线精品免费看| 色色五月婷| 国产9熟妇视频网站| 另类一区| 少妇精品久久| 小草三级久久观看| 可以在线观看的黄色网址| 91xingse| 青春草莓视频在线观看网址| 丁香五月天婷婷姐| 26uuu成人影片| 中日无幕一二三四区| 妇女性内射冈站HDWWWCOM| 91青视频| 高清孕妇孕交 交孕妇| 97天堂| 欧美亚洲玖玖玖| 久久啊啊| 免费久久9999| 国产精品熟女乱伦| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚洲国产综合久久久性感熟妇| 欧美日韩妖精91com| 免费观看国产小粉嫩喷水精品午| 精品丝袜无码一区二区三APP| 一区二区三区四区姦女| 日美免费黄片| 在线97视频| 99国产在线绯色一区| 91久久久亚洲| 国产精品伦理| 欧美在线伊人色| 95自拍视频在线观看| 亚洲性少妇| 大香蕉五月天| 粉嫩粉嫩一区性色AV片| 日日躁夜夜躁狠狠躁超爽| 99热综合| 免费的黄片有限公司| 中精品一区二区三区| 亚洲男人的天堂亚洲| 高清在线不卡一区二区 视频| 日韩少妇无吗| 男人的天堂啪啪| 久久性爱视频99| 97国产精选| 亚洲精品丝袜| 亚欧性爱在线无码| 亚洲精品乱码线路中文字幕| 91少妇高潮| 自拍盗摄一区| 色妹子A V| 中文字幕成人理论在线| 五月丁香六月综合缴清无码| 后入式福利| 欧美成人亚洲精品| 色色婷婷五月| 少妇人妻好深太紧了vr91| 91狠狠综合久久| 2017大香蕉国产精品久久| 丁香六月激情综合| 成人三级片无码| 四虎av在线| 国产60区。| 婷婷大香蕉| 国产三级日产三级韩国三级| 国产精品懂色tv影视免费观看| 后入式999| 日本在线伊人啪啪| 亚洲综合九九| 激情五月天婷婷| 国产不良强奸视频免费看| 久久久男人的天堂| 老熟女中文字幕高清| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 人夜夜精品网站香蕉嫩草| 欧美十八禁导航成人| 亚洲97网站| 熟女中出视频| 日韩78m视频| 天美一二三在线观看Av| 黄页大片在线观看| 日本美女性生活久久久久久久| 国产女人和拘做爰视频| 亚洲三区视频| A 在线网址| 福利视频合集| 麻豆国产97在线| 亚洲AV不卡在线观看| 色www精品视频在线观看| 老鸭窝黄色视频网站| 神马久久久久久久久久久久| 久热伊人99re| 91 亚洲情侣偷拍 久久| 超碰97欧美日韩| 日日干男人的天堂| 在线黄色污污网站| 欧美999999| 美女诱惑在线一区| 99re在线视频国产| 神马九九九| 亚洲欧美天| 亚洲乱熟女一区二区| 少妇激情AV| 妇女乱色二区| 亚洲 在线| 欧美少妇人妻| 精品成人亚洲午夜电影| 人妻人人操| 日本天天色| 九九久久九九久久| 97AV爱| 啊啊啊在线观看免费视频| AV高清一区| 狠狠爱AV| 精品对白久久不卡| 萌白酱自拍视频| 婷婷五月天激情小说| 黑操B| 99999精品成人| 东北老女人的激情视频| 校园春色家庭伦理欧美激情| 久久啊啊| 艹比视频国产精品| 三上制服丝AV| 夜夜夜夜久久久久| 免费一级黄色录像影片| 九九色婷婷| 欧美熟妇精品黑人巨大一二三区| www.男人天堂| 国产无码精品久久久久久| 亚洲,日韩,欧美,成人播放| 看日韩操逼| a久久| 色哟哟-国产专区| 久久人爽| jizz啪啪| 国产久久一区二区午夜| 欧美后入式| 日韩熟女乱伦中出| 日韩在线国产字幕| 国产精品扒开腿做爽爽爽视频| 亚洲人妻中文在线视频| 亚洲激情综合| 伊人精品国产| 欧美一区二区福利在线| 九九久久九九久久| 欧美色另类| 国产精品999zyz| 日韩人妻操B| 91劲爆| 明星性猛交ⅹxxx乱大交| 国产精品女久久久久av爽| 97久久资源| 99这里都是精品| 性爱边摸边日免费AV| 少妇免费视频| 亚洲伊人成综合成人网| 99热66| 中文字幕av片| 欧美自拍偷拍免费观看| 91精品免费| 久操网视频| 欧美中文字幕男人天堂久久精品| 欧美综合色图网| 午夜精品探花| 大干人妻| 九九99久久| 精品综合久久久久久97| 成人资源中文字幕在线观看天天| 欧美日韩97| 亚洲欧美日韩精品久久久一区二区 | 看一级黄色视频| 九九九影院| 国产强奸乱伦无码视频| 亚洲伊人久久精品狠狠在线| 中文乱码字幕观看视频| 午夜男人一级A片7777| 久久久草草精品| 中文字幕国产| 射丝袜大香蕉| 日本日皮视频逼| 97超碰欧美手机在线| 岛国片国产成人亚洲播放| 久久九七| 国产精品白丝在线播放| 四虎884a| 淫荡少妇免费| 高清无码91| 激情丁香五月| 国产毛片久久久久久久| 女人双腿搬开让男人桶| 国产精品97视频| 亚洲色欲天天人妻无码系列专区| 亚洲操操操无码| 国产激情综合五月久久| 色汉综合| 毛片99-全集电影手机免费观看完整-B029AV | 国产日韩在线播放av| 超91综合网| 亚洲男人天堂手机版| 噜噜噜在线视频| 人妻黑丝袜电影| 免费看日产一区二区三区| 94色色电影网| 亚洲午夜AV| 色图综合| 国产第二页| 日本岛国黄色网址| 亚州91| 青青草色插素人| 国产精品亚洲无码| 国产日产欧产美韩系列麻豆免费| 婷婷五月综合激情| 亚洲97成人在线观看| 久久久com| 天天色天天干天天爱| 一本色道久久综合亚洲二区三区| 九九热精品在线| 国产高清26uuu| 99re99在线视频| 色婷婷婷五月天激情四射| 秋霞影音一区二区三区| 999久久久免费精品国产牛牛| 使劲用力艹少妇视频一区二区| 青草青草久热| AV麻豆免费一区| 丝袜加勒比| 日韩无码AB| 97午夜剧场日韩| 日韩Va亚洲va欧美Ⅴa久久| 巨乳特殊服务按摩| 超碰一区二区| 蜜臀99999| 国产67194| 亚洲天堂中文字| 91夜色| 91模特在线观看| 亚州欧美在线| 九九九草| 怡红院怡春院| 欧美不卡在线美女| 天天爽天天干| 亚洲熟女中文字幕在线| 又大又长又粗又爽又黄| 久久这里只精品免费福利| 加勒比综合a∨| 97色涩| 中文字幕av久久爽Av| 亚洲日韩精品在线播放| 99久久e免费热视| 午夜福利1区2区3区| 国产精品国产精品国产| 精品人妻视频一区二区在线播放| 骚逼自拍99| 欧美视频激情久久久久久| 久热69九色熟妇97| 欧美黑人性猛交91| 精品视频久久久久九九九九9999| 5月婷婷6月六月丁香| 中日韩久久久| 青娱乐亚洲自拍| 老熟妇一区二区三区…| 亚洲欧美在线观看免费| 久久久久久日韩| 精品成人亚洲午夜电影| 强奸乱伦Av网| 国产综合网站在线播放| 国人欧美精品一区二区| 久久婷婷色| 婷婷五月色| 狠狠狠狠狠狠| 插入综合网| 性欧美另类高清| 噜噜噜在线视频| 国产毛片毛片4p懂色| 免费A V在线播放| 日韩人妻无码精品系列| 国产一区二区三区不卡手机在线| 欧亚洲精品有视频| 日本一区99| 亭亭丁香激情| 9 9无尺码天堂网| 67914在线兔费成人视频| 五十路熟女人妻一区二区三区四区五| 欧美人与动性人交a| 国产精品嫩草影院免费| 二男一女成人A片| 91足交| www国产天美久久久| 色哟哟511老熟女| 三上悠亚在线毛片91| 超碰日韩人妻| 黄片在线免费在线观看| 欧美专区在线| 97精品视频在线| 久久欧美激情| 国产真乱mangent| 日本韩欧美在线播放a| 东京热激情视频一二三区| 熟女一区二区| 亚洲97网站| 韩国三级一线观看久| 日韩卡一卡二卡三在线| 又黄又爽在线观看视频| 欧美亚洲韩国视频十五区| 国产伦精品| 综合国产影视三级| 人人乐大香蕉| 男人天堂久久精品不卡| 久久精品国产亚洲5555| 97超碰久久| 人妻乱仑一区二区三区| 青青草国产亚洲精品久久 | 96精品久久久久久久久久| 人人操人人摸人人看人人插| 91丝袜美女| 极品少妇久久久久| 日韩激情毛片一级久久久| 欧美精品成人亚洲| 久久久久久无码人妻中文字幕| 日韩欧美性爱电影在线观看| 偷拍精品一区二区三区| 性爱综合网| 天美传媒AV国产在线| 中国特猛少妇色xxx| 91在线精品| av麻豆啪啪| 啪啪啪综合网| 人妻夜夜爽天天爽麻豆三区网站 | 黄色成年| 伊人一区二区在线播放| 日产中文字幕2020| 啊啊啊啊网站| 色久综合| 人人么人人操| 国产精品国产自产拍高清AV| 欧美色另类| 国产欧美日韩在线不卡第一页| 中文字幕神马久久| 岛国毛片在线观看免费| 一区二区三区日韩欧美| 色哟哟AⅤ| 91伊人影视综合| 国产区日韩区在线观看| 男人的天堂kva| 婷婷亚洲五月***久久| 日本高清一本二本免费不卡| 自偷自拍的亚洲视频| 日韩久射综合| 成人影 天天操 亚洲| 麻豆国产97在线| 97日视频| 天天色播亚洲综合网站| 久久视频,这里只有精品| 成人性爱av.com| 91国精产品| 国产探花日韩援交| 天天综合网亚洲综合网| 日本三级R| 91日韩网站| 红杏大香蕉| 91少妇通奸网站| 懂色AV蜜臀无码精品APP| 日韩电影免费网站麻豆视频| 国产少妇肉丝在线观看| 久久久性| 伊人在线大香蕉二。| 国产精品人妻熟女aⅴ| 人妻大香蕉| 五月婷婷丁香六月| 国产女同视频在线播放| 爱丝福利| 亚州精品丝袜-不卡成人免费| AV不卡在线| 美女黄页网站| 97香蕉人人乳| 99激情| 黄色免费一级在线毛片| 黄久在线| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 91视频国品一二三区| 岛国福利在线精品播放| 人伦四五区| 色欧美天天| 能在线播放的国产三级| 亚洲熟女av中文字幕| 欧美嗯啊……在线观看视频免费| 国产精品又黄又猛又粗| 精品妇操一区二区三区| 亚洲AV无码| 国产性爱强奸乱伦大全| 热热色青青草| 亚洲97P| 韩国黄色片精品久久久| 可能人人看人人摸| 亚洲丝袜诱惑| 97久久久久久久久久| 蜜臀久久在线视频| 亚洲日本成人动漫| 风流老熟女一区二区三区l| 亚欧色图在线激情| 欧美色图另类图片| 伊人国产视频| 第四色亚洲色图| 色婷婷激情| 在线a v| 亚洲av无码国产精品字幕| 男人在线天堂| 超碰免费人妻在线| 高清孕妇孕交 交| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 91亚洲欧洲| 亚洲欧美激情小说| 白丝jkav| 99re8免费高清在线| 国产高清无码一区二区三区四区皇冠| 欧美国产精品| 免费的黄片有限公司| a片 xxxx受爽视频| 99rre在线精品99re8| 极品一区二区三区免费| 999熟女精品| 九九拍拍精品视频在线播放| 亚洲最大黄网| 日日干夜夜操视频h| 爽爽歪在线视频| 久久免费精彩视频| 国产欧美日韩在线观看麻豆传媒公司| 日本色婷婷| 日韩性爱高清免费视频| 日日操天天操| 水野优香在线观看| 亚洲va综合va国产va中文| 五月天开心网| 日韩成人色图| 欧美少妇大量自拍视频在线观看| 亚洲一二三四区机械| 日韩紧密久久| 日韩二三区| 精品9区| 欧美大干日韩| 啊啊啊啊,啊啊好多水| 男人天堂毛片| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 精久久久| 午夜在线播放| 久草色在线观看| 91熟女视频| 另类亚洲一区二区三区| 国产日韩在线播放av| 亚洲国产午夜真人一级片中文字幕精品黄网站| 91天堂色男人的天堂| 国产欧美日韩在线不卡第一页| 99色视频| 东京热熟女亚洲视频网站| 97视频在线观看网站| 99re99在线视频| 少妇激情一区二区三区视频| A级国产欧美激情在线| 91影库| 综合色99| 欧美黑人猛交春色影视大全| 国产女性无套 免费观看| 久久久久久久久999| 秋霞成人做爱| 91九色在线| 欧美白嫩女HD| 4tube欧美女厕所| 黄色无码高清黄色无码网站| 亚洲 欧美 手机在线观看| 一区二区 韩日AV| 综合干干干av久久久综合网| 久久久九| 国产在线激情视频| 成人 日韩欧美一区| 欧美亚洲美少妇一区二区| 蜜臀一二三区| 伊人久久在线视频观看| 五月丁香久久| 中文字幕加勒比海高清无码免费视频| 超碰97在线中文| 九九九九热| 蜜桃av综合网发布| 天天干2019| 精品一区二区麻豆| 9丨久久九九九| 精品偷拍13p欧美dodk视频| 久久久久密| 九九九九精品在线| 二男一女成人A片| 久草资源在线视频官方总站日韩丝袜美腿| 欧美色另类| 婷婷伊人綜合中文字幕小说| 亚洲se电影| 久久久久久久国产a∨| 日日夜夜青青草母狗| 亚洲精品国语在线播放| 蜜色网色哟哟| 美女被啪到深处抽搐视频| 天天干天天干天天干| 一区二区三区男人的天堂| 亚洲蜜乳av| 欧苏综合色综合| www欧美91| 国产AV久久久蜜爱影集| 欧美肥臀在线| 久久6热视频免费观看| 99热精品国产| 26uuu性物| 91中文精品日韩欧美在线| 91bbb| 国产人妻精品久久久一区二区三区 | 日韩黄片影院| 嗯……啊…嗯嗯…啊…好舒服| 9ⅰ久久久天天| 不卡一区二区日本视频 | www.亚洲黄色| 欧美黑人与女人91~| 久久久97| 久久人妻四季| 日韩极品无码B| 欧美aⅴ99久久黑人专区| 一本色道综合久久欧美| 神马午夜久久久| 欧美性生活免费网| 嗯嗯嗯啊啊啊干死我吧| 男女日B国产| 久久久99999久网站| 日本免费中文字幕在线| 超碰在线1234区| 久久精品国产72国产精品福利| 97操综合| 国产青一二三| 亚洲av综合伊人久久| 少妇500双飞99| 婷婷丁香五月天综合东京热| 五十路熟女,国产欧美精品区一区二区三区| 国产精品久久久久久亚洲色欲| 久久天天躁日日躁狠狠躁| 牛牛操视频逼| 天天操福利视频综合网站| 色综合99| 看日韩黄片| 欧美丝袜美女电影一二三四区| 日韩三级天堂在线观看| 精品久久97观看在线视频| 99热超碰| 欧美丰满少妇xx高潮| 精品乱码久久久久| 新婚人妻扶着粗大强行坐下| 熟人人妻少妇精品久久| 久久精品一区| 国产精品爽爽va在线观看98| 人妻第一页| 久久大香蕉手机高清视频| www.久久制服糖| 超碰这里有精品| 日夜啪电影| 91人妻精华帖| 花花AV导航| 97超碰超欧美。| 婷婷五月天小说| 色欲久久久久综合网| 中文字幕无码不卡啪啪| 色综合91| 丁香六月婷婷综合| 国产肏逼网站| 国产精品不卡一区二区三区| 玖色AV| av网页一区二区三区| 97碰| 天天性射网| 久久综合精品一区二区三区| 亚洲天堂一区二区久久| 亚洲熟女综合一区二区| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 久操操| 久久久国产亚洲精品系列| 国产在线综合福利网站| 久久亚洲一区女同性恋中文字幕 | 天天射天天操天天干天天吃2018| 欧美综合色综合| 亚洲中文电影| 中文字幕88av在线| 骚逼高潮久久精品| 久久久久久AV无码免费网站| 日韩免费看在线黄色片| 亚洲中文字幕熟女少妇一区二区| 97超碰欧美手机在线| 日韩欧美丝袜诱惑| 色欧美天天| 五月婷婷六月丁香| 91丨熟女丨丰满熟女| 欧美综合娱乐久久| 国产在线综合福利网站| 亚洲av噜噜噜噜噜噜| 欧美性91| 亚洲熟女av中文字幕| 久久精品无码熟妇一区二区三区视频导航| 天天射网| 欧美少妇一区二区三区| 中日无幕一二三四区| 玖玖视频在线资源一区二区三区| 99色色网| 91精品大奶人妻| 国产成人无码久久精品| 国产女人高潮嗷嗷嗷叫小说| 四虎午夜影院| 蜜臀AV午夜精品久| 亚洲中文字幕av| 亚洲蜜臀精品视频久久| 国产精品久久久午夜夜伦鲁鲁| 传媒免费一区二区三区| 日本日日色视频| 99啪啪| 色婷婷导航| 99re国产中文字幕| 亚洲字幕一区二区| 操逼无码操逼| 国产亚洲中文不卡二区| 无码人妻一区二区三区色欲aⅴ| 98人妻精品一区二区色欲| 色在线视频导航| 久久免费99精品久久久久久| 久久黄片国产一区二区| 亚洲一级性爱视频免费看| 一区二区三区黄色片a| 人妻81p| 亚洲免费人妻在| 色综合久| 无码一区二区三区四区五区六区七区八区九区十区视频 | 久久久99999久网站| 国产精品午夜福利视频| 人妻人久久精品中文字幕| 中文字幕第95页| 大香蕉懂9| 久久专区| 97人妻免费中文字幕| 色综合尤物| 久久久久精| 欧美后入视频| 精品女同一区| 粉嫩av平台| 色婷婷激一区二区三区| 色噜噜狠狠色综合日日| www鬼畜国产男人的天堂| 少妇与黑人高潮在线| 欧美极品色| 玖玖久久久| 亚洲图片激情综合另类| 亚洲偷拍自拍在线视频| 992这里有精品| 天天内射| 男人的天堂免费| 欧美日本中字另类在线| 欧美99热| 操操逼操操逼操操逼逼| 中文字暮97| 好爽免费视频,| 国产精品又黄又猛又粗| 日韩欧美亚洲一区二区三区影院| 中文字幕日韩国产传媒欧美精品| 欧美韩国你懂得在线 | 久久女人一区二区三区| 亚洲淫乱骚妇AV| 97亚洲在线| 午夜啪啪片| 久久亚洲AV无码专区国产精品| 色婷婷丁香五月| 97国产天堂岛| 欧美一区二区三区不卡高清视频| 国产女人操逼视频| 亚熟在线| 怡红院久久老司机| 97人人夜夜精品视频| 日韩免费人妻色情网站| 制服中出中文人人精品| 久久国产熟女影院| 综合 欧美 亚洲 日本| 免费看美国人人爽,人人操| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 黄页av| 午夜理论片在线观看免费| 一区二区三区四区五区高清无码永久视频 | av一区二区三区 中文| 亚洲综合九| 97无码视频在线播放| 一级久久久久久久久久久| 国内黄色精品| 色97干| 能看的AV| 在线观看啊啊啊啊啊| A 天堂在线观看视频| 欧美97视频| 一级做受视频免费是看美女| 69人妻人人揉人人躁人人精品| 亚洲另类色综合网站| 蜜桃无码AV一区二区| 日韩9999| 国产传媒午夜理伦精品| 99热精品国产| 国产精品又黄又猛又粗| 熟妇人妻一区二区| 亚洲成a人v欧美综合天堂下载 | 成人久久精品| 蜜臀AV秘一区翔田千里| 亚洲麻豆精品二区三区| 久久久久久久久久久久97| 精品伊人久久久大香线蕉小说| 国产精品3| 一区二区视频在线播放| 国产不卡的视频| 亚洲超碰AV| 青草草免费网站av| 天天日天天舔东京热| 欧美日韩制服| 亚洲性爱无码乱伦av| 精品久久久不卡一区二区| 日韩成人人妻网站| 黑人操一区二区| 无码精品啪啪啪一区二区三区三州| 无码高清少妇久久| 玖玖在线视频| 视频不卡中文字幕| 色综合中文字幕不卡| 国产第12页| 亚洲自拍一区夜夜操| 亚洲精品九九九| 国产农村妇女精品一| 一道α片欧美| 久热99999| 黄片直播三级黄片两女一男| 91美女视频。| 午夜免费视频1000| 大香蕉欧美| 搞中出视频在线观看| 欧美日韩国产中文精品字幕自在自线 | 蜜臀va69| 欧美日韩高潮喷水91| 18禁无码永久免费无限制| silk lablo在线观看一区二区| 影音先锋国产精品| 国产精品久久久久久久久久久久久久吹| 精品人妻av在线播放| K8久久久久| 天天干2区3区| www.国产高潮精品| 9久热这里只有精品| 欧美色66| 曰韩av中文字幕专区| 成人精品欧洲亚洲| 狠狠狠狠狠狠| 中文字幕日韩电影人妻| 国产精品丝袜在线| 中文字幕精品人妻丝袜| 久久AV无码网址| 天天影视亚洲| 亚洲精品国产熟女久久久| 欧美99| 蜜乳AV.COM| 国产99999久久精品| 一区二区三区精品黑丝白丝酒店对鸡 | 992大香蕉| 懂色AV中文| 婷婷亚洲综合| 精品成人无码| 亚洲区小说| 日本97久久久精品| 色婷婷香蕉| 操逼啊啊啊91| 超碰97人妻| 人妻第一页| 91操人| 欧美日韩少妇色情| 超碰人人在线| 日韩性爱小视频| 2017天天拍大香蕉| 亚洲凸凹超碰成人| 大香蕉色网| 亚洲高潮少妇| www久久久| 日韩精品免费高清视频在线| 亚洲一区二区三区在线激情| 国产超碰97| 久久精品国产久精国产| 九九天堂| 亚洲无码?第一页| 先锋激情∨在线视频播放| 天天综合-91入口| 色综合天天爱去电影网| 99热8| 校园春色中文字幕AV| 啪啪91| 天美av在线观看| 国产成人无码久久精品| 国产熟女完整版中字 | 日韩资源网| 超碰98综合网| 久久偷拍人| 麻豆伊人网| 精彩国产视频播放1区2区| 久久女人视频| 亚洲另类久操网| 天天操天天射青青草| 六月丁香啪啪| 五月激情天| 大香蕉免费中文| 日韩啪啪啪啪啪| 91N欧美| 96精品在线| 精品99999久久久久久| 内射白嫩美女| 97人亚洲综合字幕| 亚洲一二三| 日本国产二线女色| 国产精品国产| 97久久久久| 成人小电影网站tex| 超碰97亚洲| 亚洲欧美天堂| 成人性爱AV在线免费观看| 91 欧美| 亚洲欧美97| 欧亚日韩中文在线| 黑人美精品 A片| 国产女人高潮嗷嗷嗷叫小说| 户外裸露刺激视频第一区| 强歼乱伦资源网| 色五月婷婷在线| 五月丁香久久| 人人爱夜夜爱| 俞拍自拍| 91久久久久| 男人的天堂久久久| 天天综合网在线91| 综合熟女| 99热精品国产| 精人妻无码一区二区三区伊人直播| 精品一区二区2| 婷婷五月天激情四射| 欧美性爱精品七区| 高潮的A片激情扒开一区| 操操操日本的逼| 日韩性爱电影一区| 91操操| 久久人妻四季| 麻豆天美国美国产| 大香蕉 222| 污电影在线观看| 少妇三p| 色色色日本| 国产一区二区在线电影| 在线只有精品| 一区二区三区四区五区高清无码永久视频| 日韩精品人妻中文字幕久久久| 欧美亚州色的图| 欧美一品道| 欧美日韩亚洲少妇寂寞影院正在播放| 好爽免费视频| 久草国产在线视频| 色一情一乱一乱一区91Av| 99久久无色码| 日本三级韩国三级美三级91| 精品免费囯产一区二区三区| 日韩免费看在线黄色片| 综合一区中亚洲国产成人综合精品| 日韩97超碰中文字幕| 无码视频一区二区| 日本高清加勒比| 久久久久白虎| 美女操逼福利视频| 91女网站| 日韩欧美久久婷婷网站| 狠狠操,使劲操| 婷婷色婷婷| 91久久国产综合精品| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚洲精品男人的天堂| 美日韩在线不卡人妻| 亚洲交换| 国产成人超碰在线| 五月丁香综合| 中国熟女91| 岛国大片在线观看网站入口| 啊啊啊好湿久久| 亚洲在线| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 欧美色图亚洲色图成人在在线| 9997se| 黄人人操人人操| 丁香九月婷婷| 玖玖大干人妻| 精品无码不卡视频| 麻豆AV一区二区| 国产精品久久久吖| 五月天婷婷综合网| 日韩电影免费网站麻豆视频| 人人看人人爰人人操| 无码自拍SM| 亚洲综合色图欧美| 九九亚洲视频| 易易A毛视频| 激情综合网五月婷婷| 4虎在线视频| 女人喷水视频在线观看| 熟妇精品juliaannAV| 亚洲本色精品一区二区久久| 男人的天堂网免费| 日韩欧美女求操每天更新| 亚洲综合激情五月久久| 青草伊人网| julia高潮后不停追击中出| 久久久一二三四区| 亚洲欧美国产其他二区| 日本三级韩国三级美三级91| 中文字幕91页| 亚洲综合一| 综合亚洲欧美精品日韩?v| 久久xx| 78精品| 青青草原人妻| 9久热这里只有精品| 成人三级片无码| 国模久久在线| 夜夜草网站| 日韩欧美三级| 99热精品在线在线| 丝袜亚洲综合| 欧美性生活综合| 欧美性暴力| 亚洲日本男人天堂网| 精品国产av一区二区三区四区入口| 欧美不卡在线美女| 欧美片第一页| 欧美日动态视频| 亚洲第2页| 日本一卡二区在线| 色婷婷基地| 91丝袜在线观看| 天天综合有色网| 日韩免费看在线黄色片| 国产精品久久久久久久久久久久久久久久 | 青久操| 成人福利视频网| 亚洲日精品| 伊人影院中文字幕| 午夜视频久久久久一区| 大肉棒导航| 国产激情在线| 久久久无码视频| 91嫩草欧美| 一级性爱aaaa| 亚州男人天堂| 亚洲va综合va国产va中文| 老熟女综合| www.91欧美| 欧美人人AAA| 天天视频网站黄| 亚洲成人AB| 精品国产国产AV| 97超碰碰碰| 亚洲九月丁香| 超碰97人人cao| 9精品久久久久| 久久99精品国产| 在线啊啊啊啊| 色色婷婷丁香| 神马久久久久久伦理片| 欧洲久久一二线| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | A久久| 国产一区二区三区久久久精品| 97在线观看免费| A久久| 久久精品福利影院| 国产嫩草精品A88AV| 久久久一热在线播放| 国产探花日韩援交| 五月天亚洲网| 啊好大好舒服| 曰韩精品视频一区二区| 亚洲 欧美 综合 91| 91男女啊啊啊| 99精品成人免费看| 亚洲AV无码乱码| 99热一区二区三区四区| 18禁久极品美女久久哦哟呀!| 97电影院超碰| 国产无码精品高清| 麻豆久久精品亚洲精品88| 96精品久久久| 熟妇人妻一区二区三在线 | 97精品视频在线| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 婷婷综合伊人一区| 9 1超碰九色| 亚洲色图欧美另类在线| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 蜜屁Av| 宗合情欲网| 青草青青久久久久久国产| 成人av动漫在线观看| 91深夜夜| 国产毛片片精品天天看视频| 91欧美色| 九九九国产精品| 黄总AV色图| 91亚洲精品青草| 熟妇在线视频一区二区| 亚洲中文字幕精品久久久久久直播| wwwxxx日本爽| 亚洲国产精品无码AV久久久| 精品久| 亚洲成人贴图| 亚洲欧美综合网站| 久久、1234| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 口爆综合网| 夜夜操老骚逼视频网站| 欧美亚洲丝袜美女电影| 大香蕉AV丝袜| 香蕉99秘 精品一区丁香| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 |