国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(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à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庫默認(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庫自帶的導(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ú)考慮。混合量化的配置方法是在skip_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
返回資訊列表
亚州九九九精品视频| 99在线精品观看99| 色五月婷婷五月天| 日韩不卡码| 嗯嗯啊啊好疼| 国内偷拍精品一区二区| www.99热| 久久久久久9| 日韩成人精品视频自拍| 97视频在线视频| 国产精品久久aV| 91无码中出人妻视频| 少妇一区二区三区在线观看| 日韩无码第3页| www.人人cao| 欧美国产视频| 九热久| 国模无码一区二区三区在线| julia中文字幕在线观看| 97无码视频在线播放| 久久久蜜桃一区二区三区| 精品少妇人妻| 超碰精品日韩欧美国产| 999久久久九| 婷婷综合伊人一区| 久久免费老司机精品| 肥佬影院91| 亚洲成人久久一区二区| 精国久久一区二区三区98| 国产人妖视频一区在线观看| 久久久一二三四区| 亚洲五月丁香花狠狠干一区二区三区| 国产三级中文字幕粉嫩| av无线看| 欧亚日韩综合精品国产| 96久久精品一二三区色欲| 欧美97视频| 黄色大片免费在线| 人妻喷水| 国产一区96在线| 熟妇熟女一区二区三区| 综合网久久| 中文字幕美女91| 麻豆一区二区三区精品| 免费综合亚洲中文| 亚洲骚逼少妇| 久九九九九九九热| 老女人综合网| 国产91丝袜在线播放蜜月| 国产三级日产三级韩国三级| 欧美欧美少妇| AV丝袜少妇| 国产浮力影院第1页| 欧美 亚洲精品首页| A久久| 99精品无码| 伊人网av| 又大又长又粗又爽又黄| 热G综合热G中文| 久久久久久人妻| 香蕉综合网| 久久熟女人| 中文字幕精品一区欧美| 久草成人影片| 加勒比在线视频| 亚洲精品天堂久久A∨51成人漫| 蜜桃臀一区二区aV| 久久的网站啊啊啊啊啊| 爆操无码| 精品人妻一区二区三区四区石在线| 久久 亚洲 日韩 人妻| 国产AV激情无码久久无码| 天天肏夜夜肏| 色九九综合AV| 欧美在线伊人色| 国产高清免费不卡av| 丝袜亚洲91| 天天综合精品| 特级毛片特黄久久免费看| 就去色综合| 999综合色| 91国产精品在线看| 不卡啪啪视频| 国产成人欧美一区二区三区的国产| 999九九九九国产动| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 国产激情av女片自拍| 99re久久| 中日韩久久久免费看| 久久久18| 日本www操操操| 人人性爱视频免费| 好爽视频在线观看视频 | 欧美顶级黄色大片免费| 日本视频在线中文字幕| 97干在线视频| 农村少妇久久久久久久| 国内精品99999| 黑丝日韩av丝袜av| 国产极品999| 色婷婷久久| 欧美自拍偷拍综合图片| 中文字幕熟女人妻丝袜| 97视频播放| 麻豆区久久久久亚| 伊人丝袜美腿高跟在线观看高清 | 久久天天摸| 操婷婷逼| 2010男人的天堂| 九九精品99| 国产精品直播在线观看直播| 久久这里只有精品9| 老熟女阿 国产91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 免费αV在线视频| 青青草中文字幕| 欧美成97爱| 97国产|免费| 天美一区在线| 久久熟女嫩草成人片免费| 国产免费久久精品99re韩国| 日韩图区| #NAME?| 国产精品久久久久久久久久久久久久久久久久 | 亚洲欧美精品一区天堂久久 | 天天躁日日躁狠狠狠躁| 久久久一二三四区| 国产激情在线| 日本亚洲嫩草影院啪啪| 麻豆91熟妇人妻中文字幕茄子| 婷婷性网| 狠日欧美| 国模私拍一区二区三区神乳| 亚洲高清视频在线免费观看| 囯戸精品高潮呻吟旡码| 精品成人动漫一区二区| 欧美v亚洲v日韩v最新在线二区| 欧美日韩国产高清在线一二三区 | 老司机免费视频在线91| 亚洲av热热色| 亚洲欧美综合网站| A级国产欧美激情在线| 国产传媒午夜理伦精品| 久久精品国产99精品亚洲蜜...| 一中国女人毛片水真多| 色嗨嗨在线| 亚洲黄网在哪免费看| 国产在线精品偷| www九九热| 91在线视频免费中出| 开心五月天激情网| 欧美日韩免费专区在线| 九99久久| 草草电影院| 91亚洲网| 免费a级毛片av无码久久精品中文字幕| 强被迫伦姧在线观看无码网站| 眼镜人妻101.com| 国产 日韩 欧美高清| 欧美十八禁视频| 麻豆精品.欧美精品.日韩精品.| 天天草天天日| 国产精品亚洲免费| 999久久久久久久精| 国产情色在线| 果冻传媒A片麻豆熟妇人妻| 综合第一页| 一线黄色免费性爱片| 91久久99久久91熟女精品| 亭亭丁香激情| 亚洲区小说| 天天射天天操天天干天天吃2018| 日韩欧美国产高清视频| 夜夜操av亚洲一区二区| 97久久超碰亚洲| 51久久夜色精品国产麻豆| 欧美 亚洲 偷拍自拍| 中文字幕91综合| 欧美玖玖爱免费玖玖| 麻豆成人影音在线| 8050午夜少妇无码| 啊操爽品善一区二区三区| 日本一区不卡| 欧美激情视频在线一区| 亚洲黑丝在线| 热热色国产一二区AV| 久久久新亚洲AV| 九九黄色视频在线观看| 色制服丝袜夫妻av一区| 青青青国产手线观看视频2| 色婷婷网| 国模91| 2023天天操夜夜操| 日韩人妻少妇 一区二区三区| 青青草玖玖爱| 在线免费观看日韩一区| 伊人久久大香蕉线AV五月天| 啪啪啪综合网| 裸体美女免费看网站青草| 欧美色图人妻| 日韩国产欧美伦理在线| 天天看片天天爽| 91男同| 少妇厨房愉情理伦片bd在线观看 | 东北女人操比视频| 中国农村熟妇毛片视频| 性感女人网页在线观看视频| 中日韩一区二区三区欧美| 99热精品在线| 精品国产乱码久久久| 国产亚洲精品玖玖玖在线观看| 一牛影视久久久一区二区三区| 亚洲高清欧美总合| 另类图片五月天| 色97欧美| 美女刺激久久国产欧美| 秋霞Av理论一级在线| 欧美综合骚| 精品中文一区二区| 99国产在线 精品 视频| 欧美伦乱爱| 午夜福利激情在线视频| 老师充足的奶水小说| 韩日色费| 久久99精品九九久久久婷婷| 久久超碰网| 99精品成人免费看| 人人操人人肉久久精品| 日韩人体偷拍| 精品国模无码| 老熟女中文字幕高清| 岛国片在线播放| 91日产欧美| 成人八戒网站| 亚洲图片欧美色| 久久久久久久久久久久久久久性生活视频| A片A5445444| 色眯眯av| 91美女丝袜诱惑视频| 天天射日日干| 四虎免费看黄| 欧美一级黄片视频在线| 久男人久久| 色五月综合| 超碰95| 男人天堂婷婷五月天校园春色| 夜夜欢天天干| 国模久久在线| 天堂av2019| 操啊国产| 欧美97免费| 暖暖精品二区三区观看| 97国产高清视频在线观看| 密臀成人视频久久久| 天天爱天天韩国日本牛牛牛牛| 亚洲国产精品无码AV久久| 久操 高清| 99热国产| 欧美十八禁导航成人| 欧美手机在线综合| 久久9久9久99久9久9| 国产精品毛片?v一区二区三区| 欧美一级久久久久久久大片动画| 91社区拍啪人妻| 手机在线看片免费人成视频| 中文字幕 国产 精品| 激情综合五月婷婷| 久久的网站啊啊啊啊啊| 绑缚麻绳人妻寝取完整版| 久久久久日本视| 91九九九逼| 亚洲视频二区 | 99久久久er直播网址| 欧亚性爱啪啪| 国产av青草| 先锋音影AV| 三上制服丝AV| 另类专区加勒比| 亚洲高清无毛一区二区| 国产亚洲一黄| 自拍盗摄一区| 国产午夜精品一区二区三区牛牛| 麻豆视频一区二区| 亚洲高清欧美总合| 性感女人网页在线观看视频| 精品久久久久久亚洲| 久久亚洲熟妇在线视频| 日韩大香蕉精品在线视频| 91欧美网| 制服乱伦| 长久操视频| 国产一区二区三区免费视频在性观看 | 欧美色涩| 91人妻Pr| 久久久久96| 亚洲第一黄色av网站| 一本一道人妻久久一区二区三区 | AV久日| 日本韩国国产精品一区| 超碰人人妻| 亚洲综合性网址| 超碰在线欧美性爱激情| 欧美精品四区| 91狠狠综| 91在线限制级| 9国产超碰| 操香逼| 国产高清午夜成人在线观看| 亚洲成人久久一区二区| 国产女同性恋视频| 亚洲精品三| 97无码视频在线播放| 91站街按摩店老熟女熟女| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久久一区二区三区四区五区| 91网九色蝌蚪操熟女| 亚洲天堂女优在线| 亚洲va有码在线天堂| 97免费在线视频在线观看| 不卡在线观看视频| 操b网站亚洲无码| 全球成人中文在线| 亚洲在线91| 黄色小说亚洲| 欧美国产日韩高清在线| 亚洲熟女av中文字幕| www.97在线| 亚洲高清无毛一区二区| 韩国毛片一区二区三区| 国产精品午夜成人福利| 强歼乱伦资源网| 91欧美综合| 操91| 97超碰无码网| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 丁香五月成人| 久久精品日韩| 黄骗免费网站| 加勒比海人人操超碰在线| 日韩精品9999| 用力操死我| 亚洲一本色道中文无码aV天美| 综合 亚洲 欧美| 99热国产| 超碰碰激情97+久| 国产丝袜美女诱惑| 亚洲综合中文字幕有码| 亚洲国产美女久久久久| 亚洲人妻色图| 国产青青综合伊人| 韩日色费| 蜜汁欧美| 日韩免费a级毛片无码a∨| 大香蕉中文在线| 亚洲乱码精品一区二区| 亚洲AV无码翔田千里网站| 一本一道波多野毛片中文在线| 日韩欧美中文日韩欧美色| 国产一级αv免费看片| 天天天天操| 欧美 综合| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | A 在线网址| 密乳AV免费观看| 亚洲第一黄色av网站| 国产精品一区二区手机看片| 人妻 丝袜美腿 中文字幕| 国产成人久久久精品免费AV| 91色碰| 午夜精品久久久久久久| 性色A∨91| 99久久综合| 加勒比综合九九99视频在线播放| 日韩999| 激情综合婷婷| 97超碰大| 岛国AV一区二区电影| 黄色高清久久无码依人| 黄片aaaaa一区| 日本不卡一二区| 91亚洲色图| 欧美亚洲第一页| 草草网站影院白丝内射| 午夜男人一级A片7777| 久久国产精品一级二级三级| 乱性AV| 日韩在线地址一| 精品一区二区亚洲国产| 天天色悠悠激情| 夜精品久无码| 欧美se综合| 日韩欧美日韩| 色婷婷网| 日韩人妻丝袜美腿中文| 午夜男女爽爽大片免费观看| 97碰在线视频| 60秒免费视频| 无码免费在线观看黄色片| 夜色AV无码手机在线影院| 大香蕉AV丝袜| 精品夜夜澡人妻无码AV| 欧美成人A√在线一区二区| 操操啪| 99国产天美| 91成人无码| 人人透人人操| 99在线免费公开视频| 蜜臀久久99精品久久久久久久久| 亚洲春色欧美| 女人被添高潮免费视频| 性欧美| 精品中文字幕第一页| 国产又大又硬又长又粗| 免看60秒涩涩视频| 日韩av不卡在线观看| www.AV有限公司一区| 久热影视| 色 亚洲 91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧洲乱码一区二区| 蜜桃色院一区久久| 久久精品人人做人人看| 99热综合在线| 日本亚洲嫩草影院啪啪| 一区二区你上我| 日本淫乱女一区二区三区视频| 亚洲天堂区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 无码视频一区二区| 亚洲精品官网在线观看| 欧美一品道| 操B在线观看| 大香蕉92| 黑丝少妇| 国岛片视频| 极品销魂美女一区二区| 校园春色亚洲无码| 丰满人妻一区二区三区大胸懂色 | 又大又长又爽| 变态乱伦伪娘灌肠一区二区| 成人五月天色网| 啪啪啪精品视频| 2020中文字幕在线观看| 成人日韩中文字幕| 国产1769在线| 国产午夜在线观看| 丰满少妇高潮无码| 女人午夜视频777| 日韩十八禁| 国产91丝袜在线播放蜜月| 91少妇香蕉久久精品| 老熟女熟妇| 久久久久久久人妻| 中文字幕狠狠玩| 啪啪性爱免费视频| 久草精品国产99| 欧美精品精品一区二区| 九九九九九九视频| 亚洲熟女一区二区| 欧美大干日韩| 黑人干亚洲| 亚洲天堂资源| #NAME?| 91天天综合在线观看| 亚洲 中文 欧美 日韩 在线 | 91精品国产91熟女| 四方色播| 在线观看亚洲成人精品| 狠狠操夜夜操蜜桃视频三区| 家庭乱伦国产| 精品区国产区一区二区三区| 狠狠综合网| 新97国产超碰| 91狠狠综合久久| 免费看黄片现成| 成人av免费观看| 美国久久一二三四| 97久久国产精品女不卡| 日本欧美韩国国产在线| 日韩欧美视频青青| 天美传媒精品一区二区三区| AVE乱伦| 日韩成人综合网| 国产精品视频在线播放 | 91碰超| 久久欧美按摩999| 亚洲综合草草| 久久精品日韩| 久久久久9999妇女| 日本人妻最新在线中| 午夜久久无码1000合集| 欧美在线大香蕉| 亚洲国产91精品一区二区久久| 爱做久久久久久| 另类成人首页一区| 太久视频| 在线 欧美 亚洲| 天天摸夜夜添无码小视频| 日本中文字幕在线电影| 久久久久久久9| 免费精品人妻一区二区三| 天美国产精品| 激情欧美日韩女同久久| av在线观看不卡网站| 日本 欧美 亚中文字幕| 久久78| 欧美三级不卡| 熟女激情综合网| 婷婷伊人一区| 欧美性爱免费短视频| 色第一页| 久草免费福利在线播放| 男人天堂网手机版婷婷| 日本精品高清一二区一本到| 欧美亚洲韩国视频十五区 | 国产一级内射无挡观看| 成人A片男人的天堂| 日韩簧片免费看| 麻豆传媒一区二区在线观看| 大香蕉丝袜一级片| 91丝袜美女视频| 啊啊啊啊啊啊啊好爽不要| 国产操偷| 国产美女自拍视频| 久久久国产精品人妻丝袜| 国产精品制服丝袜清纯唯美| 噜噜噜噜天天狠狠| 久草视频制服诱惑| 一区二区三区 日韩欧美| 一级性爱aaaa| 无码外流操逼视频| 日韩人妻无码不卡网站| av影院十区| 国产91精品福利在线| 久久久久9999妇女| 色屁屁影院www国产| 久久精品国产精品一区| 性色AV网站| 国产拍偷精品网站| 欧美精品三区| 91被操| 亚洲综合大片| 2018色综合天天操| 日韩一级二级在线| 欧美激情片一区二区| 自拍啪啪视频| 亚洲黄网在哪免费看| 欧美性五月| 伊人亚洲国产一成人久久精品,久久| 亚洲欧美清纯| 精品人妻视频一区二区三区蜜桃视频| 日本欧美一区二区三区免费| 九九热三级片| 欧美与日韩97| 蜜桃久久一区二区三区| 成人影院永久免费观看网址| 青青草无码视频| 91婷婷伊人狠人| 国产亚洲精品av一区| 天天操妹子| 99热国产精品| 无码人妻精品一区二区三区九九| 婷婷亚洲天堂| 国产a级午夜毛片| 国产精品成久久久久午夜午夜| 黄色十八禁| 人妻在线臀日韩| 精品性爱无码在线播放| 盗摄女人妻在线| 99精品国产户外露出| 性高潮久久久久久久久久久| 九九热超碰97亚洲最新香蕉| 午夜亚洲| 三及片网站| 欧美精品黑人猛交高潮| 欧美日韩久久精品爱爱| 欧美日韩97| 亚洲九九九九| 国产精品福利视频| 日韩AV噜噜噜一区二区三区四区 | 丁香五月激情网| 日韩操逼性鲍| 婷婷五月天激情网| 无码日韩网站| 操婷婷逼| 乱伦熟女区| 日韩人成网站在线播放| 成人三级片无码| 黄色免费网页无码| 婷色五月| 亚州综合电影| 婷婷美人网| 久久久涩| 性爱综合一区二区| 99亚洲精品| 激情 欧美 亚洲 小说| 韩国三级一线观看久| 91综合色噜噜| 国产日韩精品人妻久久久久色欲网站 | 999综合网| 国产v亚洲v日韩v欧美v片另类| 九9热伊人| 九七色图| 26uuu国产免费观看| 999狠狠综合| 亚洲欧美综合图片| 91亚洲欧洲| 人人操肉肉| 欧洲性爱无码区| 中文字幕在线免费观看2| av黄图片在线观看| 色色色色日本| 97干com| 亚洲天天天| 久久成人午夜精品影院| 精品91摸| 97干色| 96久久精品一二三区色欲| 插入综合网| 欧美第五页| 日韩激情小说一区二区| 欧美少妇第一页| 东京热毛片调教| 无码精品久久久天天影视| 国产人伦精品一区二区三区| 成人一二三区| 亚洲午夜福利视频| 日韩人妻精品中文字幕| 国产精品黑人一区二区三区| 91九久| 天天综合色图| 激情丁香婷婷| 欧美热图99| 国产女人操逼视频| 神马九九九| 国产午夜无码片在线观看影视 | 蜜臀久久99'精品久久久| 中文字幕日韩专区精品系列| 久久97资源 网| 2017av无码免费无线播| 亚洲情色婷婷五月天| 亚洲精品819| 射久久| 色月天AV导航| 超碰国产精品久| 久久国产精品熟女人妻| 日韩精品 视频一区二区| 亚洲操操操无码| 国产成人综合网| 黑人免费福利视频| 五毛骚逼极品美女怕怕| 精品超碰国产| 欧美成人性活片| 亚洲美女30b| 欧美一级AAAAAAA| 天天操天天日青青草超碰av| 九九精品美女高溯喷水| 极品尤物女神在线观看| 小说区 图片区色 综合区| 四虎影视在线| 岛国AB视频| 青草成人免费视频一com| 国产地址二三| 无码人妻一区二区三区色欲aⅴ| 搡老女人老妇女老妇老熟女怎么读| 欧美亚洲素人制服精品| 东京热综合久久一区二区| 欧美亚洲日韩16色| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 九九亚洲| 国语av最新自产拍在线观看| 精品无码欧美三级| 久久久久久久久久久久色网| 亚洲欧洲无码97久久精品| 91人妻爽爽人人做人人澡| 秋霞怕怕片| 不卡二三区人妻少妇| 国产天美传媒精品| 欧洲综合视频| 99热99色| 久久婷婷五月综合| 五月天婷精品激情| 91精品女厕偷拍视频| 97色亚洲| 日韩精品一二三| 中文字幕熟女人妻丝袜丝| 亚洲黄色网址| 欧美一二在线| 伦在线97| 狠狠躁日日躁夜夜躁A| 97亚洲一区| 久久精彩视频9| 欧中日成人免费影视| 国产超碰国产97| 人妻精品综合中文字幕在线 | 国产日本熟女顶级一区二区三区视频| 国产一区二区视频在线播放| 俺去俺来也在线www| 欧美性爱中文字幕无线码| 制度丝袜99| 日本性爱少妇| 婷婷五月色| 长长久久免费视频| 99re95| 国产亚洲日本| 208天天久久九九九| 久久久久国产精品久久久| 国产精品乱码久久久、久久| 亚洲乱码国产乱码精网站| 欧美成熟性爱精品| 超碰97综合| 91精品国产一区三一| 天天综合中文字幕 91| 久久久精精精| 伊人热综合| 97人人操人人摸人人爱| 久久婷婷五月综合| 白丝jkav| 我要色综合网站| 国产精品久久久久久久久久梁医生| 色综合久久av| 日日干夜夜干| 骚女高跟AV在线| 操人妻视频| 韩国午夜理伦三级好看| 玖玖97综合| 亚洲精品黑丝| 性暴力欧美猛交在线直播| 午夜理论片在线观看免费| 亚洲欧美一区二区三区在钱蜜桃| 欧美人人天天网| 中文字幕丰满子伦无码专区在线视频最新| 秋霞影音一区二区三区| 国产无遮挡| 91性片| 一个人免费HD91视频| 97超碰无码网| 中文字幕国产在线天堂| 国产日本久久免费精品| 亚洲色图 图片| AV麻豆免费一区| 91精品人妻一区二区三区蜜桃臀| 夜夜性| 久操热线| 亚洲精品九九九| 久久久18| 我想要 啊 啊 啊| 开心五月激情网| 欧美性色欧美| 人妻啊啊人妻啊| 男人的天堂网页| 日韩欧美亚洲国产日韩| 丰满人妻一区二区三区免费| 久久草大香蕉| 九九九999久久久网站| 狠狠五月天| 亚洲牲交| 97精品国产精品免费观看| 亚洲色色探花| 美女91网址 | 亚洲情色综合网| 强奸乱伦日韩AV| 欧美综合1性辶| 5252色欧美在线| 干干干天天| 麻豆色约约| 成人熟女视频一区二区三区| 三男一女不戴套的A片| 久久一二三四不卡 | 日韩人成网站在线播放| 午夜福利合集| 久久综合精品一区二区三区| 激情抓乳插进去啪啪啪日韩 | 男人的天堂色偷偷青青草视频婷婷网| 亚洲精品国产无码高清| 欧美丝袜中文字幕07在线| 99热超碰| 色色色999| heyZO天然素人无码AⅤ专区| 久久久免费高清中文视频| 香一区二区三区| 国产男女无套视频免费观看| 欧美亚洲中文| 国产sv美女内射| 裸体美女久久久| 人妻一区二区三区| 欧美日韩999| 一区二区三区免费岛国片| 久久大黄片| av2014 日韩在线中文字幕| 丝袜内射| 男人亚洲91首页在线| 一区二区三区 日韩欧美| 久久双插| 国产1024在线播放| 亚洲男人天堂av| 欧美色97| 蜜臀久久99'精品久久久| 美骚妇av高清在线| 欧美日韩国产电影| 亚洲综合另类欧美久久久| 精品丰满人妻一区二区三区免费观| 国产亚洲女v在线观看| www.亚洲成人一区| 私人尤物在线精品不卡| 超碰色综合| 白嫩少妇| 国产精品第一区第一页| 欧美真人抽搐一进一出gif| 极品色| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 91强奸乱轮| 欧美精品1区2区3区| 一区二区三区探花在线观看| 国产无套粉嫩白浆在| 久久久九97| 97网址97| 婷婷伊人五月| www黄片免费看com| 日韩美女久久一区二区三区| 97 视频在线| 国产后入清纯| 久久产精品一区二区三区电影| 精品人妻1区| 在线播放中文字幕| 青青草中文-久久青草精品一区二区三| 插欧洲美女欧美精品| 国产成人精品亚洲日本| 国产青视频| 日日97| 亚洲欧洲日本精品中文a∨| 人人插人人摸人人| 天天看综合网| 国外91| 国产精品原创巨作?v网站| 亚洲啪啪性视频| 蜜桃视频精品一区二区三区| 少妇贴图| 亚洲最新中文字幕免费| 久九九九九九九热| 可乐操亚洲蜜911| 久久亚洲欧美中文字幕国语| 亚洲免费看片| 青草视频人妻在线观看| 亚洲视频中文一区| 久久性爱大全| 日韩中文字幕精品一二三事国产精品| 黄页| 国产精品久久久三级无码| 精品国产99| 丝袜美腿av女优在线| 99色天堂| 超碰在线综合97| 国产网站在线播放| 五月天综合网| 成人97人人超碰人人| 亚洲精品视频二区| 亚洲av资源| 最新一二三区视频| 97色妞| 郑州宾馆老熟女露脸啪啪| 加勒比五月天| 少妇免费视频| 九九性视频| 温婉少妇玩3p| 亚洲成人在线高清| 久热伊人| 精品人妻视频一区二区在线播放| 91麻豆天美传媒HD| 麻豆亚洲Av成人无码一区精品| 欧美成人性爱视频免费观看 | 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲乱码国产乱码精网站| 香港澳门日本三级网站| 啊啊啊啊好爽好舒服一区二区易域| 日韩中文9| 欧美天天综合站| 男人网站婷婷| 欧美78| 伦在线97| 97碰碰日本乱偷人妻中文的| 麻豆性爱视频在线播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 水野优香在线观看| 久/久精品99看9| 国产一区二区视频在线播放| 777奇米影视777四色| 日韩欧美一级特黄大片| 老司机深夜影院18未满| 天天操夜夜嗨| AV污污污污| 欧美日韩国内不卡| 无遮挡猛进视频免费无限观看| 亚洲国产一级精品毛一级精品看免费视频| AV在线性爱| 天天操夜夜操狠很操| 亚洲欧美日韩免费电影| 日韩精品免费高清视频在线| 思思热在线cao| 欧美成人性爱视频免费观看 | 无遮挡又黄又刺激的视频| 日韩性爱一级片| 99亚洲精品| 日日操丁香五月天| 日韩av影片在线观看| 蜜乳AV色欲AVAV无码| 精品国产精品一区二区| 91色情黑丝搞鸡在线观看一区二区三区三州| 久久久激情| 天天综合网国产| 久久亚洲不卡一区二区三区| 区二区亚洲婷| 尤物视频偷拍免费| 日韩十八禁| 日韩免费高清大片在线| 国产h片在线观看视频| 日本色色的视频| 蜜桃成人1区2区3区| 二区熟妇韩日| 极品AV网站在线观看| 99热线麻豆| 亚洲天天综合| 亚洲国产精品有声| 五月天综合在线| 69AV女优男人的天堂| av东京热男人的天堂| 亚洲AV色图一区| 91亚洲欧洲| 99re公开精品免费视频| 九九热在线精品视频| 亚洲91色在线| 久久久久久无码人妻中文字幕| 91精品人妻| 做爱A级亚欧| 婷婷精品| 另类av综合久久| 人妻娇喘 激情视频| 欧美一二三级精品在线| 亚洲天堂99| 热久久九九热| 亚洲成人在线乱码色午夜| 亚洲日韩av专区无码| 亚洲中文字母在线播放| 91 国产丝袜在线放观看| 亚洲人码13| 在线视频 亚洲精品| 熟女六十路| 欧美天天综| 伊香蕉综合久久久久久久噜噜噜| 一区二区精品日韩欧美在线观看| 九九伊人网| 久久人妇| 亚洲福利影院一区久久| 成人性爱电影一区二区| 亚洲 图片 欧美 色图| 人人操人人操人妻人| 国产一级137片内射麻豆| 欧美|91色综合| 久9久9久9久9久9久9| 黑人美精品 A片| 中文字幕二区日韩天堂| 青青草AV色| 在线观看高清AV| 亚州操操穴网| 日日躁夜夜躁狠狠躁超爽| 淫荡少妇免费| 99re在线观看| 爱爱动态60秒| 99热精品在线在线| 欧洲一区二区三区四区在线观看| av爱爱爱| 97超碰jingpin| 九九热精品视频六| 97任你吞精| 综合网97| 大香蕉黄色一级片免费看| 91ise欧美| 91精品丝袜久久久久久| 国模精品娜娜一二三区| 蜜臀久久精品久久久久视频| 老熟女乱伦一区| 日韩紧密久久| 成人精品无码| 95精品在线| 天天影视亚洲| 色色五月天婷婷| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 一区二区娱乐网站| 国产AB视频| 欧美一区二区观看在线| 东方亚洲在线操逼天堂| 日韩在线一区高清在线| 天天夜夜久久| 翔田千里无码中出中文字幕| 九九成人精品| 久久透逼视频| 欧美久久婷婷| 高清国产成人无码| 国产免费久久精品99re韩国| 99久久久无码精品国产人| 人妻社区男人天堂| 操逼日批| 人妻五十路在线| 日韩av一级黄片| 超碰综合97在线| 曰韩av中文字幕专区| 日产精品久久久一区二区| 五月天激情四射| 久久人妻熟女一区二区| 婷婷激情啪啪| 91在线视频国产网站| 校园春色综合色| 艹精品| 粉嫩久久久极品| 超碰av在线| 亚洲加勒比久久日本道| 日产国产精品中文久久婷婷| 丁香五六月啪啪| 亚洲综合骚逼| 黄片www.| 亚洲丝袜综合| 久久久久久久78| 久久久久国产精品喷潮免费观看臀 | 色妹子A V| 26uuu国产亚洲综合| 亚洲一区二区 麻豆传媒| 福利伊人玖玖国产| 日本欧美不卡| 春色校园综合网| 国产福利在线视频网站| 亚洲丝袜二区在线| 色噜噜人妻av 中文字幕| 天天插夜夜操| 人妻丰满熟妇av无码区蜜桃| 99少妇精品视频| 岛国毛片手机在线观看| 国产美女91| 亚洲男人天堂网久久| 亚洲系列第一页| 五月情色天| 超碰97最新人妻| 99色色网| 免费的黄片有限公司| 五月天精品| 欧美亚洲丝袜美女电影| 国产av美女被艹的乱叫| 人妻夜夜爽天天爽三区麻豆AV网站| 91网站18在线| 久久HD| 91在线精品一区二区三区| 白嫩妹子国产骚| 天天干一区二区| 国产精品久久久久久 百度| 成人线上超碰| 久草老司机| 啊a一区在线| 日韩性爱小视频在线观看| 操逼网站网站| 偷拍亚洲视频一区二区三区四区| 亚洲情色婷婷五月天| 国产女生在线| 秋霞成人做爱| 啊啊啊爽爽| 毛片麻豆91糖心精品毛情片| 蜜臀av中字字幕网站| 爱我干综合| 欧美精品一区二区少妇免费A片| 欧美亚洲丝袜人妻制服中文99| 天美传媒在线一区| 小草精彩毛片| 99久久综合网| 中日韩熟女| 激情熟女12P| 美女久久久久久久久久久| 操逼无毒无码免费视频| 色第一页| 97香焦色区| 99操99| 亚洲精品a人片在线观看视| 日韩黄片影院| 亚洲天堂男人天堂网| 人妻激情视频| 91精片| 日本日皮视频逼| 国产又黄又粗的视频| 97碰久久| 精品国产a∨一区天美传媒| 日本中文字幕一区| 欧美综合加勒比在线| 2011国产精品| 99免费在线视频| 一区二区三区视频在线观看免费| 一区不卡在线观看av| 高清国产无码av| 狠狠爱综合网| 国产精品久久蜜乳av| 99热一区二区三区四区| 99热国产精品| 亚洲欧美日韩电影网站一区 | 性感女人网页在线观看视频| 能看的av| 丁香五月偷拍| 另类在线| 激情深爱五月天| www99热| 国产成人网| 日韩中文欧美| 99爱视频| 欧美亚洲综合色| 日韩啪啪啪啪啪| 91色艳| 人妻久热在线| 日韩中文字幕熟妇人妻| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美一二三级精品在线| 成全动漫视频观看免费下载| WWW.操逼.COM| 国产精品白丝在线播放| 91人妻最真实刺激绿帽| 精品毛片av一区二区| 欧美一级黄片视频在线| 久久久无码av精| 日韩一级免费性爱| 成人短视频在线观看| 久久国产三区| 九月AV| 欧美猛交黑寡妇中文字幕| 青青操视频在线| 嗯嗯嗯啊啊在线观看| 男人综合网| 日韩免费簧片| 成年女人黄网站| 一级性爱aaaa| 色嘟嘟人妻天堂网| 亚洲精品天天影视综合网 | 亚洲人在线成线成人| 97在线欧洲| 久久久久921| 91性情| 亚洲**2021在线观看| 夜夜天天噜狠狠爱2021| 自拍偷拍2025在线观看| 久久人妻办公室视频| 夜夜高潮夜夜爽| 骚人妻少妇视频| 91精品人妻一品二品三品| 好色综合| 国产精品制服丝袜清纯唯美| 六月婷婷综合| 99999精品视频| 香蕉色网| 亚洲女人91| ji熟女.com| www.婷婷五月天| 少妇与黑人高潮在线| 91 国产丝袜在线播放-百度| 亚洲一区二区AV| 中国一级特黄大片护士| 日本色色色| 在线视频五十市|