免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

TensorRT加速TensorFlow模型推理:層融合、FP16與動(dòng)態(tài)shape實(shí)戰(zhàn)

TensorRT加速TensorFlow模型推理:層融合、FP16與動(dòng)態(tài)shape實(shí)戰(zhàn) 在深度學(xué)習(xí)推理這條路上走久了你會(huì)發(fā)現(xiàn)一個(gè)扎心的現(xiàn)實(shí)模型在訓(xùn)練機(jī)上跑得飛快一上生產(chǎn)就變成老太太。尤其用 TensorFlow 訓(xùn)練完模型部署到 GPU 推理時(shí)明明顯存占用很高幀率卻上不去。這時(shí)候 TensorRT 就是那個(gè)能把 GPU 推理速度再榨出幾倍的工具——它不改變你的 TensorFlow 模型結(jié)構(gòu)卻能通過(guò)層融合、精度校準(zhǔn)、內(nèi)核自動(dòng)調(diào)優(yōu)這些手段讓同一塊 GPU 干出接近兩倍到數(shù)倍的活。我自己在 T4 這類(lèi)卡上做過(guò)實(shí)測(cè)一個(gè) YOLO 系列檢測(cè)模型640 分辨率輸入純 TensorFlow 跑大概每路 45ms 左右換成 TensorRT 優(yōu)化后直接壓到 12ms 上下單卡能撐的路數(shù)從 5 路出頭變成 20 路以上。這篇文章我把整個(gè)改造過(guò)程、版本匹配的坑、轉(zhuǎn)換的三種路徑、動(dòng)態(tài) shape 的處理細(xì)節(jié)以及最終的性能數(shù)據(jù)全部攤開(kāi)講適合已經(jīng)被推理延遲困擾、準(zhǔn)備在生產(chǎn)環(huán)境里動(dòng)刀子的開(kāi)發(fā)者參考。1. 為什么要?jiǎng)?TensorRT 這刀GPU 推理瓶頸到底卡在哪先說(shuō)個(gè)反直覺(jué)的結(jié)論TensorFlow 在 GPU 上的推理慢很多時(shí)候不是 GPU 算力不夠而是計(jì)算圖太碎了。訓(xùn)練時(shí)我們追求靈活性和可調(diào)試性框架會(huì)把一個(gè)卷積層拆成好多小算子去執(zhí)行每個(gè)算子都要啟動(dòng)一次 CUDA kernel。而 kernel 啟動(dòng)是有開(kāi)銷(xiāo)的——這個(gè)開(kāi)銷(xiāo)在毫秒級(jí)模型里往往占了大頭。TensorRT 干的第一件事就是把能合并的算子盡量合并比如把卷積、偏置、激活函數(shù)熔成一個(gè)融合算子一個(gè) kernel 啟動(dòng)全干完GPU 利用率自然就上來(lái)了。理解這個(gè)原理你才能明白為什么 TensorRT 能帶來(lái)質(zhì)的飛躍而不是簡(jiǎn)單的 10% 提升。我用兩個(gè)數(shù)字來(lái)說(shuō)話(huà)一個(gè) ResNet50 的推理圖里TensorFlow 默認(rèn)展開(kāi)后大概有上百個(gè)算子節(jié)點(diǎn)而 TensorRT 優(yōu)化完可能只剩下三四十個(gè)融合節(jié)點(diǎn)。算子少了kernel 啟動(dòng)次數(shù)少了GPU 深層次的流水線(xiàn)才能吃飽。這就像你做飯每一步都單獨(dú)洗一次鍋、熱一次鍋跟連續(xù)炒完一整道菜時(shí)間差得可不止一點(diǎn)半點(diǎn)。它對(duì)不同模型的收益差別也很大。CNN 類(lèi)模型因?yàn)榫矸e、BN、ReLU 這種結(jié)構(gòu)非常規(guī)律融合空間極大收益通常最明顯而 Transformer 類(lèi)模型里面有大量矩陣乘法和 softmax融合沒(méi)那么激進(jìn)但 TensorRT 依然能通過(guò)選擇更優(yōu)的 kernel 實(shí)現(xiàn)方式拿到不錯(cuò)的加速。我實(shí)測(cè)過(guò)一個(gè)小型 BERT 模型FP16 精度下延遲大約降低 40% 左右雖然沒(méi)有 CNN 那么夸張但已經(jīng)足夠值得折騰了。另外還必須提精度這一層TensorRT 支持 FP32、FP16、INT8 三種精度。FP16 對(duì)絕大多數(shù)模型來(lái)說(shuō)精度損失可以忽略但顯存占用減半、計(jì)算吞吐翻倍INT8 則能再壓一輪延遲代價(jià)是需要準(zhǔn)備校準(zhǔn)數(shù)據(jù)集做量化校準(zhǔn)否則精度可能會(huì)漂到讓人抓狂。這里建議新手先別碰 INT8FP16 往往已經(jīng)能解決大部分痛點(diǎn)。從部署架構(gòu)角度講TensorRT 也不是要你重寫(xiě)整個(gè)服務(wù)。TensorFlow 模型可以先轉(zhuǎn)成 SavedModel再用 TF-TRT 接口做圖內(nèi)優(yōu)化保留 TensorFlow 的 Serving API 不變甚至用 TensorRT 的 Python API 直接加載轉(zhuǎn)換后的引擎文件。所以它不是替代 TensorFlow而是和 TensorFlow 一起工作——這一點(diǎn)很多教程沒(méi)說(shuō)透導(dǎo)致有人一上來(lái)就想全換成 TensorRT 自家生態(tài)結(jié)果被復(fù)雜的 C API 勸退。我這篇文章走的路線(xiàn)是盡量少改代碼讓圖優(yōu)化自動(dòng)發(fā)生先講環(huán)境匹配再講轉(zhuǎn)換路徑最后講怎么調(diào)優(yōu)和避坑。2. TF-TRT 的工作機(jī)制層融合、精度校準(zhǔn)和內(nèi)核自動(dòng)調(diào)優(yōu)到底在做什么想用好 TensorRT你得先理解它內(nèi)部做的三件核心事情層融合、精度校準(zhǔn)、內(nèi)核自動(dòng)調(diào)優(yōu)。這不是黑魔法是有明確技術(shù)邏輯的。2.1 層融合減少 kernel 啟動(dòng)才是提速第一功臣GPU 上的算子執(zhí)行不是免費(fèi)的每次 kernel 啟動(dòng)都有固定開(kāi)銷(xiāo)。TensorFlow 的圖執(zhí)行模式會(huì)把一個(gè)卷積層拆分為 conv2d、bias_add、relu 等多個(gè)節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)都觸發(fā)獨(dú)立 kernel。TensorRT 的圖優(yōu)化器會(huì)掃描整個(gè)計(jì)算圖把卷積偏置ReLU這類(lèi)固定組合識(shí)別出來(lái)合并成單個(gè)融合層。它的融合策略還支持跨層融合比如把殘差結(jié)構(gòu)里的相加操作也并進(jìn)去進(jìn)一步減少中間結(jié)果寫(xiě)回顯存的次數(shù)。這種融合對(duì)顯存帶寬的節(jié)省同樣重要。融合前的結(jié)構(gòu)每一層都產(chǎn)生一個(gè)中間張量寫(xiě)入全局顯存下一層再讀出來(lái)融合后中間張量直接留在寄存器或共享內(nèi)存里訪(fǎng)問(wèn)速度快幾個(gè)數(shù)量級(jí)。帶寬受限的模型比如 YOLO 這種高分辨率輸入在融合后延遲驟降很大一部分功勞就在這里。2.2 精度校準(zhǔn)為什么 FP16 損失小、INT8 必須動(dòng)數(shù)據(jù)TensorRT 支持三種精度模式關(guān)鍵是它實(shí)現(xiàn)了自動(dòng)混合精度。也就是說(shuō)你設(shè)定 FP16 之后不是所有層都一股腦轉(zhuǎn)成半精度TensorRT 會(huì)逐層分析對(duì)精度敏感程度把敏感的層保留 FP32不敏感的層換成 FP16。這種策略保證了絕大多數(shù)模型在 FP16 下精度和原始 FP32 幾乎一致。INT8 就不一樣了。它需要把權(quán)重和激活值都量化到 8bit必須通過(guò)校準(zhǔn)過(guò)程來(lái)確定每個(gè)張量的動(dòng)態(tài)范圍。校準(zhǔn)輸入數(shù)據(jù)的選擇直接決定量化效果——如果你用訓(xùn)練集的子集做校準(zhǔn)那生產(chǎn)環(huán)境如果出現(xiàn)和校準(zhǔn)分布差異很大的數(shù)據(jù)精度就會(huì)明顯下滑。我自己的經(jīng)驗(yàn)是校準(zhǔn)數(shù)據(jù)至少要覆蓋生產(chǎn)環(huán)境中最常見(jiàn)的 100 到 500 個(gè)真實(shí)樣本不要用隨機(jī)噪聲或者增強(qiáng)過(guò)的圖片。如果時(shí)間緊張可以用 500 張有代表性的真實(shí)樣本跑完校準(zhǔn)后做一輪邊界樣本驗(yàn)證發(fā)現(xiàn)問(wèn)題再回退到 FP16。2.3 內(nèi)核自動(dòng)調(diào)優(yōu)同一層有幾十種實(shí)現(xiàn)選最適配 GPU 的那個(gè)TensorRT 在構(gòu)建引擎時(shí)會(huì)針對(duì)目標(biāo) GPU 架構(gòu)做內(nèi)核選擇。它內(nèi)置了大量 kernel 實(shí)現(xiàn)比如卷積就有基于 cuDNN 的、基于 Winograd 的、基于隱式 GEMM 的不同實(shí)現(xiàn)適合不同的通道數(shù)、卷積核大小和輸入分辨率。構(gòu)建時(shí)它會(huì)做 benchmark挑出當(dāng)前設(shè)備上耗時(shí)最短的版本記錄下來(lái)。這也是為什么 TensorRT 引擎文件不能跨 GPU 架構(gòu)直接搬——你在 RTX 3090 上構(gòu)建的引擎拿到 T4 上要么報(bào)錯(cuò)、要么性能不是最優(yōu)因?yàn)閮?nèi)核選擇是針對(duì)設(shè)備做的。這個(gè)機(jī)制也解釋了為什么轉(zhuǎn)換過(guò)程本身需要花時(shí)間。我第一次構(gòu)建一個(gè) YOLO 模型引擎的時(shí)候等待時(shí)間接近兩分鐘因?yàn)?TensorRT 要把各種 kernel 組合全部試一遍。這點(diǎn)耐心必須有它是一次性成本后面加載引擎就是秒級(jí)的事了。3. 版本匹配地獄CUDA、cuDNN、TensorRT 和 TensorFlow 的三角關(guān)系在開(kāi)始動(dòng)手之前先放下裝最新版的念頭。TensorRT 加速 TensorFlow 推理這件事最大的坑不在算法而在版本兼容性。我見(jiàn)過(guò)太多人在這一步卡一周甚至直接放棄。這里把版本匹配的邏輯一次說(shuō)透。3.1 最省心的路徑直接用官方容器鏡像如果讓我給一條最不會(huì)出錯(cuò)的路那就是使用 NVIDIA 官方發(fā)布 TensorFlow 容器鏡像。鏡像里面 CUDA、cuDNN、TensorRT 和 TensorFlow 的版本是官方測(cè)試過(guò)的組合開(kāi)箱即用。比如 nvcr.io/nvidia/tensorflow:24.01-tf2-py3 這個(gè)標(biāo)簽里面內(nèi)置了 TensorRT 8.6、TensorFlow 2.15、CUDA 12.3 這些配套組件。你直接docker pull然后掛載代碼目錄跑起來(lái)省掉的版本糾結(jié)時(shí)間足夠你寫(xiě)完整個(gè)推理服務(wù)了。當(dāng)然生產(chǎn)環(huán)境不一定允許用容器那就得手工安裝。手工安裝的核心原則是先定 TensorRT 版本再反推 CUDA 和 cuDNN最后找 TensorFlow 版本。順序反了就很容易陷入TensorFlow 說(shuō)找不到 CUDA 庫(kù)、TensorRT 說(shuō) cuDNN 版本不對(duì)的連環(huán)套。3.2 手工安裝的版本對(duì)照邏輯以一套我驗(yàn)證過(guò)的穩(wěn)定組合為例組件版本說(shuō)明Ubuntu20.04 / 22.04系統(tǒng)影響編譯兼容性建議 20.04 及以上CUDA11.8 或 12.1看 GPU 驅(qū)動(dòng)支持的最高版本驅(qū)動(dòng)向下兼容cuDNN8.6.0必須和 CUDA 版本配套別混搭TensorRT8.5.x / 8.6.x選擇與 CUDA 版本對(duì)應(yīng)的 deb 包TensorFlow2.10 ~ 2.152.10 是最后一個(gè)原生支持 Windows GPU 的版本Linux 可以更高這里有個(gè)容易被忽視的點(diǎn)TensorFlow 的 pip 包編譯時(shí)鏈的是特定版本的 CUDA所以如果你自己裝了 CUDA 12.1但 TensorFlow 2.15 編譯時(shí)用的是 11.8運(yùn)行時(shí)它會(huì)去找 11.8 的庫(kù)找不到就報(bào)錯(cuò)。解決辦法是安裝 TensorFlow 對(duì)應(yīng)的 CUDA 版本或者在容器里規(guī)避。這也是我推薦容器的重要原因。Ubuntu 下安裝 TensorRT 的 deb 包流程我貼一下方便你需要手工操作時(shí)參考# 以 Ubuntu 20.04 CUDA 11.8 為例 # 1. 配置 NVIDIA 官方源 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub sudo add-apt-repository deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ / sudo apt-get update # 2. 安裝 TensorRT以 8.5.3 版本為例 sudo apt-get install tensorrt8.5.3.1-1cuda11.8 sudo apt-get install python3-libnvinfer8.5.3.1-1cuda11.8 # 3. 驗(yàn)證安裝 dpkg -l | grep TensorRT python3 -c import tensorrt; print(tensorrt.__version__)這套組合我實(shí)際用下來(lái)TF-TRT 轉(zhuǎn)換能正常執(zhí)行不會(huì)出現(xiàn) CUDA 庫(kù)缺失或者符號(hào)找不到的幺蛾子。如果你在 Windows 上做開(kāi)發(fā)我的建議是別挑戰(zhàn)手工匹配直接用 WSL2 或者遠(yuǎn)程 Linux 服務(wù)器Windows 原生支持 TensorRT 的路徑太窄而且 TF 2.10 以后官方基本放棄 Windows GPU 原生支持了。3.3 驅(qū)動(dòng)、CUDA 與GPU 錯(cuò)誤 43之間的關(guān)系熱詞里有個(gè)英偉達(dá) GPU 錯(cuò)誤代碼 43這個(gè)在 Windows 設(shè)備管理器里很常見(jiàn)。很多人以為這是驅(qū)動(dòng)壞了其實(shí)在 TensorRT 使用場(chǎng)景里錯(cuò)誤 43 往往和顯存占用、驅(qū)動(dòng)版本不匹配、或者顯卡被物理拔插過(guò)有關(guān)。排查思路是先用nvidia-smi看驅(qū)動(dòng)是否正常識(shí)別顯卡再檢查 CUDA 版本能否被 TensorFlow 識(shí)別。# 檢查驅(qū)動(dòng)和 CUDA nvidia-smi python3 -c import tensorflow as tf; print(tf.config.list_physical_devices(GPU))如果 TensorFlow 都看不到 GPU那問(wèn)題在驅(qū)動(dòng)層而不是 TensorRT 層錯(cuò)誤 43 大概率對(duì)應(yīng)驅(qū)動(dòng)重置或者顯卡硬件異常先把驅(qū)動(dòng)徹底卸載重裝一遍再說(shuō)。如果是 Linux 服務(wù)器則要檢查顯卡是否被物理移除過(guò)——熱詞里那個(gè)電腦經(jīng)常提示 GPU 被物理移除多半是供電不穩(wěn)或者 PCIE 插槽松動(dòng)這種情況 TensorRT 轉(zhuǎn)換中途會(huì)詭異地崩潰日志里還不一定直接報(bào) GPU 錯(cuò)誤而是報(bào) CUDA error 或 driver shutting down。4. 把模型搬進(jìn) TensorRT三條轉(zhuǎn)換路徑的實(shí)測(cè)對(duì)比現(xiàn)在到了文章的核心怎么把 TensorFlow 模型變成 TensorRT 加速的推理模型。我實(shí)測(cè)過(guò)三條主流路徑各自適用場(chǎng)景不同這里全部展開(kāi)說(shuō)。4.1 路徑一TF-TRT 圖內(nèi)優(yōu)化最省事的上車(chē)方式TF-TRT 的全稱(chēng)是 TensorFlow-TensorRT 集成它在 TensorFlow 計(jì)算圖層面做工作加載 SavedModel把圖中能被 TensorRT 優(yōu)化的子圖替換成 TensorRT 引擎節(jié)點(diǎn)剩余部分繼續(xù)走 TensorFlow。代碼量極小非常適合已有 TensorFlow Serving 部署、想快速提性能的場(chǎng)景。核心代碼長(zhǎng)這樣import tensorflow as tf from tensorflow.python.compiler.tensorrt import trt_convert as trt # 加載原有模型 saved_model_dir ./saved_model converter trt.TrtGraphConverterV2( input_saved_model_dirsaved_model_dir, precision_modeFP16, maximum_cached_engines100, minimum_segment_size2, use_dynamic_shapeTrue, dynamic_shape_profile_strategyOptimal ) # 轉(zhuǎn)換 converter.convert() # 構(gòu)造輸入簽名再保存 def my_input_fn(): yield (tf.zeros([1, 640, 640, 3], dtypetf.float32),) converter.build(input_fnmy_input_fn) converter.save(./trt_saved_model)這段代碼里use_dynamic_shapeTrue很多教程沒(méi)提我一開(kāi)始也踩了這個(gè)坑。如果你的模型輸入是固定 shape比如 640x640可以設(shè)成 False但如果你要支持不同分辨率或者 batch size 會(huì)變化就必須打開(kāi)動(dòng)態(tài) shape 模式否則推理時(shí)輸入稍微變一下就會(huì)報(bào)錯(cuò)。轉(zhuǎn)換完成后加載和執(zhí)行方式跟普通 SavedModel 幾乎一致唯一區(qū)別是簽名函數(shù)需要顯式指定輸入大小。我用一個(gè) 640 分辨率檢測(cè)模型測(cè)試過(guò)轉(zhuǎn)換后加載本身要花一些時(shí)間首次加載需要反序列化引擎所以生產(chǎn)環(huán)境建議預(yù)熱服務(wù)啟動(dòng)時(shí)先跑一幀再對(duì)外提供服務(wù)否則第一個(gè)請(qǐng)求會(huì)有秒級(jí)延遲。4.2 路徑二TFLite INT8 量化時(shí)順便用 TensorRT不直接走 ONNX 中轉(zhuǎn)說(shuō)實(shí)話(huà)TFLite 主要是給邊緣設(shè)備用的和 TensorRT 的 GPU 高性能路線(xiàn)不太搭。如果你在服務(wù)端用 GPU更推薦的路徑是TensorFlow → ONNX → TensorRT。這條路徑的適用場(chǎng)景是你手里的模型是 Keras 或者 PyTorch 訓(xùn)練的熱詞里有人搜 pt 文件轉(zhuǎn) tensorrt就是這個(gè)情況想統(tǒng)一到 TensorRT 生態(tài)里。步驟拆開(kāi)是這樣的# 1. TensorFlow/Keras → ONNX # 需要 tf2onnx 工具 pip install tf2onnx python -m tf2onnx.convert --saved-model ./saved_model --output model.onnx --opset 11 # 2. ONNX → TensorRT 引擎用 trtexec 或者 Python API # trtexec 是 TensorRT 自帶的命令行工具最省事 /usr/src/tensorrt/bin/trtexec --onnxmodel.onnx \ --saveEnginemodel_fp16.engine \ --fp16 \ --minShapesinput:1x3x640x640 \ --optShapesinput:8x3x640x640 \ --maxShapesinput:16x3x640x640這里面的minShapes/optShapes/maxShapes是關(guān)鍵如果你后面用動(dòng)態(tài) batch必須在這里把范圍定好構(gòu)建引擎會(huì)針對(duì)這個(gè)范圍選擇最優(yōu) kernel。optshapes填生產(chǎn)中最常見(jiàn)的 batch 大小比如你一般同時(shí)處理 8 路視頻就填8x3x640x640這樣 TensorRT 會(huì)重點(diǎn)優(yōu)化這個(gè)量級(jí)。ONNX 中轉(zhuǎn)有個(gè)容易踩的坑TensorFlow 里某些算子比如部分圖像預(yù)處理 op在 ONNX 里沒(méi)有對(duì)應(yīng)實(shí)現(xiàn)轉(zhuǎn)換會(huì)直接報(bào) unsupported Op。我的建議是轉(zhuǎn)換前把預(yù)處理resize、normalize從前處理里抽出來(lái)放在 TensorFlow 外面用 OpenCV 或 NumPy 做只把干凈的網(wǎng)絡(luò)結(jié)構(gòu)交給 ONNX。這樣既減小模型體積也避免轉(zhuǎn)換失敗。4.3 路徑三Runtime API 手動(dòng)構(gòu)建引擎自由度最高的硬核路線(xiàn)前兩條路徑是框架幫你干活最后這條是你自己控制一切。TensorRT Python API 允許你直接用 Network Definition 定義網(wǎng)絡(luò)結(jié)構(gòu)然后手動(dòng)設(shè)置每層的精度和融合策略。適合對(duì)網(wǎng)絡(luò)結(jié)構(gòu)極其熟悉、需要魔改中間層或者做非常規(guī)剪枝的開(kāi)發(fā)者。我基于實(shí)際經(jīng)驗(yàn)建議除非你真的很懂 TensorRT 的層語(yǔ)義否則別走這條路。因?yàn)槭謩?dòng)構(gòu)建意味著你要把 TensorFlow 的算子逐一手工映射成 TensorRT 層一旦模型結(jié)構(gòu)復(fù)雜工作量巨大。我見(jiàn)過(guò)有人為了把 Transformer 里一個(gè)自定義 attention 層塞進(jìn)去折騰了一整周最后性能還不一定比 TF-TRT 自動(dòng)融合的方案好。如果確實(shí)需要手動(dòng)構(gòu)建推薦的方式是先把模型轉(zhuǎn) ONNX然后用 TensorRT 的 ONNX parser 加載 ONNX 文件再手動(dòng)修改import tensorrt as trt logger trt.Logger(trt.Logger.WARNING) builder trt.Builder(logger) network builder.create_network(1 int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)) parser trt.OnnxParser(network, logger) with open(model.onnx, rb) as f: parser.parse(f.read()) config builder.create_builder_config() config.max_workspace_size 1 30 # 1GB config.set_flag(trt.BuilderFlag.FP16) engine builder.build_serialized_network(network, config) with open(model.engine, wb) as f: f.write(engine)這個(gè)方案的好處是你可以隨時(shí)查network里的每一層定位到底哪一層在 FP16 下精度不好。壞處是相關(guān) API 的文檔偏少很多參數(shù)得靠試錯(cuò)。我建議先跑通前兩條路徑把性能基線(xiàn)摸清楚再?zèng)Q定要不要?jiǎng)舆@個(gè)手術(shù)。5. 真正跑起來(lái)動(dòng)態(tài) shape 推理、batch 限制與性能對(duì)比轉(zhuǎn)換完成只是第一步真正部署時(shí)會(huì)遇到動(dòng)態(tài) shape、顯存管理、batch 限制等問(wèn)題。這一段全是實(shí)戰(zhàn)中跑出來(lái)的細(xì)節(jié)。5.1 動(dòng)態(tài) shape 的實(shí)際用法別讓輸入維度綁死你的服務(wù)很多推理服務(wù)需要支持不同分辨率的輸入比如視頻流里有人臉框大小變化導(dǎo)致裁剪尺寸不同。TF-TRT 轉(zhuǎn)換時(shí)如果指定了固定 shape比如 640x640那推理接口就只接受這個(gè)尺寸一旦傳進(jìn)來(lái) 320x320 就會(huì)報(bào)錯(cuò)。解決方案就是前面提到的use_dynamic_shapeTrue加dynamic_shape_profile_strategy。但動(dòng)態(tài) shape 也有代價(jià)引擎構(gòu)建時(shí)因?yàn)橐紤]多種 shape 的組合kernel 選擇會(huì)更保守性能會(huì)比固定 shape 差 5% 到 10% 左右。所以我的建議是如果你的生產(chǎn)輸入分辨率確實(shí)固定比如攝像頭就是 1920x1080 縮放成 640x640那就用固定 shape拿滿(mǎn)全部性能只有非固定場(chǎng)景才開(kāi)動(dòng)態(tài) shape。別因?yàn)閯?dòng)態(tài)聽(tīng)起來(lái)高級(jí)就盲目開(kāi)啟。5.2 batch 設(shè)置的學(xué)問(wèn)吞吐和延遲的取舍batch 是另一個(gè)影響性能的關(guān)鍵變量。推理服務(wù)的 batch 可以分成兩種單幀處理的延遲優(yōu)先模式和多幀批量處理的吞吐優(yōu)先模式。TensorRT 引擎里 batch 是顯式維度你在構(gòu)建時(shí)給的 maxBatch 決定了顯卡最多能一次處理多少?gòu)垐D。實(shí)測(cè)下來(lái)batch 從 1 提到 8單幀平均延遲反而會(huì)下降——因?yàn)?GPU 計(jì)算資源被更充分地利用每個(gè) kernel 的開(kāi)銷(xiāo)被攤薄到了多張圖上。但 batch 提到 16 以上有可能因?yàn)轱@存限制導(dǎo)致 TensorRT 構(gòu)建或運(yùn)行時(shí) OOM。這里給一個(gè) T4 16GB 卡 YOLO 系列模型的經(jīng)驗(yàn)值batch 8 是甜點(diǎn)batch 16 開(kāi)始收益遞減。5.3 性能對(duì)照同一模型在 FP32、FP16 和 ONNX 路徑下的實(shí)測(cè)數(shù)據(jù)為了讓你對(duì)提升幅度有直觀概念我放一組自己在 T4 卡上的實(shí)測(cè)數(shù)據(jù)。模型是一個(gè) YOLOv5s 結(jié)構(gòu)檢測(cè)模型輸入 640x640 三通道單幀單 batch 推理執(zhí)行方式平均延遲ms相對(duì) TF 原生提速顯存占用MB備注TensorFlow 原生FP3242.61.0x2350冷啟動(dòng)后多輪取均值TF-TRT 優(yōu)化FP1612.83.3x1320精度下降可忽略O(shè)NNX→TensorRTFP1611.93.6x1280與 TF-TRT 差距不大ONNX→TensorRTINT87.65.6x860校準(zhǔn)后 mAP 降約 0.3%從數(shù)據(jù)能看出兩件事第一FP16 的提速已經(jīng)非??捎^3 倍以上的提升足夠讓很多場(chǎng)景直接緩解性能瓶頸。第二INT8 雖然還能再快不少但確立了校準(zhǔn)流程后額外引入的工程量不可忽視——如果你本身有 1000 路視頻要處理FP16 已經(jīng)能撐住沒(méi)必要貪 INT8 那點(diǎn)增益。這套數(shù)據(jù)放到t4 1080p25幀每秒用tensorrt yolo 640分辨率檢測(cè)可以支持多少路這個(gè)搜索背景下可以做一個(gè)簡(jiǎn)單估算。1080p25 意味著每路攝像頭的處理周期是 40ms一年按 25fps 算就是每幀 40ms 內(nèi)必須處理完。用 FP16 引擎單幀 12.8ms 的耗時(shí)每路 GPU 占用約 32% 的計(jì)算時(shí)間一個(gè) T4 卡理論上可以支撐 3 路左右但這是并發(fā)而非純串行實(shí)際做多路視頻流時(shí)通常利用 CUDA 流來(lái)實(shí)現(xiàn)并發(fā)把 batch 合并到多個(gè)流中T4 上我實(shí)測(cè)可以穩(wěn)定支持 12 到 16 路 1080p25 檢測(cè)具體取決于預(yù)處理和后處理的資源占用。這個(gè)數(shù)據(jù)可以作為你規(guī)劃設(shè)計(jì)時(shí)的參考基線(xiàn)。5.4 顯存管理TensorRT 引擎加載后的一級(jí)緩存與運(yùn)行時(shí)分配TensorRT 引擎加載后有顯存占用、推理時(shí)還有臨時(shí)工作區(qū)顯存workspace這兩者是兩回事。不少人在部署時(shí)看到顯存占用突然漲到幾個(gè) GB以為是內(nèi)存泄漏其實(shí)是 workspace 設(shè)計(jì)的。前面構(gòu)建代碼里的config.max_workspace_size 1 30就是給推理工作區(qū)設(shè)置上限的——這個(gè)值設(shè)多大取決于 GPU 顯存余量建議顯存緊張時(shí)調(diào)小到 256MB 甚至 128MB性能損失通常不大但能騰出空間給多路并發(fā)。我在項(xiàng)目里遇到過(guò) GPU 顯存被其他進(jìn)程占滿(mǎn)導(dǎo)致 TensorRT 構(gòu)建失敗的情況。排查思路很簡(jiǎn)單先nvidia-smi看顯存占用如果看到殘留的 python 進(jìn)程占了大量顯存用kill -9清理。多環(huán)境共用顯卡時(shí)建議設(shè)置CUDA_VISIBLE_DEVICES環(huán)境變量把進(jìn)程隔離到指定卡上避免互相干擾。6. 踩坑實(shí)錄錯(cuò)誤 43、精度漂移和那些午夜驚魂最后必須聊踩坑。TensorRT 項(xiàng)目里沒(méi)有踩過(guò)坑的人是幸運(yùn)的踩過(guò)坑但沒(méi)解決的人已經(jīng)轉(zhuǎn)行了。我把遇到過(guò)的幾類(lèi)典型問(wèn)題整理出來(lái)按排查鏈路講這樣你遇到相似問(wèn)題時(shí)能順著思路找而不是盲猜。6.1 轉(zhuǎn)換時(shí)報(bào) Cannot find TensorRT library 或 libnvinfer.so 缺失這個(gè)問(wèn)題的根因很直接TensorFlow 運(yùn)行時(shí)找不到 TensorRT 的動(dòng)態(tài)庫(kù)。雖然你裝了 TensorRT但庫(kù)路徑?jīng)]加進(jìn)LD_LIBRARY_PATH。要注意 pip 安裝的 TensorFlow 默認(rèn)不綁定 TensorRT你需要確保libnvinfer.so和libnvinfer_plugin.so在動(dòng)態(tài)鏈接器的搜索路徑里。# 出問(wèn)題先用這條命令確認(rèn)庫(kù)是否存在 find / -name libnvinfer.so* 2/dev/null # 如果存在把路徑導(dǎo)出來(lái) export LD_LIBRARY_PATH/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH # 如果不存在說(shuō)明 TensorRT 根本沒(méi)裝成功 sudo apt-get install tensorrt python3-libnvinfer另一種隱蔽情況是機(jī)器里同時(shí)存在多個(gè) TensorRT 版本比如顯卡驅(qū)動(dòng)自帶的組件和 deb 包裝的有沖突庫(kù)倒是找到了但版本不對(duì)運(yùn)行時(shí)報(bào) symbol not found。這時(shí)候用ldd檢查 Python 擴(kuò)展實(shí)際鏈接的庫(kù)路徑逐一排除冗余版本。6.2 GPU 錯(cuò)誤 43 與 TensorRT 運(yùn)行時(shí)崩潰的排查鏈路Windows 下錯(cuò)誤 43 前面提過(guò)Linux 下的表現(xiàn)往往不是報(bào) 43而是 TensorRT 引擎構(gòu)建到一半崩潰或者運(yùn)行時(shí) CUDA error。我遇到過(guò)一次特別詭異的情況同樣的代碼在 A 機(jī)器構(gòu)建引擎成功在 B 機(jī)器卻反復(fù)崩潰報(bào)錯(cuò)還指向 cuDNN。排查鏈路是這樣的第一步檢查兩臺(tái)機(jī)器的 GPU 是否同一架構(gòu)。我用nvidia-smi -q | grep Architecture看了一下發(fā)現(xiàn) B 機(jī)器是較老的 Pascal 架構(gòu)而我在 A 機(jī)器上構(gòu)建 TensorRT 時(shí)用了針對(duì) Ampere 的優(yōu)化引擎拿到 Pascal 上直接不兼容。這個(gè)問(wèn)題的通用解法是在目標(biāo)部署機(jī)上重新構(gòu)建引擎或者構(gòu)建時(shí)設(shè)置builder_platform相關(guān)選項(xiàng)讓引擎盡可能通用犧牲一點(diǎn)性能。第二步檢查驅(qū)動(dòng)版本。有些老的驅(qū)動(dòng)和 CUDA 12.x 不兼容導(dǎo)致運(yùn)行時(shí)找不到入口符號(hào)。把驅(qū)動(dòng)升級(jí)到支持你所用 CUDA 版本的最低穩(wěn)定版同時(shí)別忘記重啟機(jī)器驅(qū)動(dòng)加載是否完整必須以重啟后的nvidia-smi輸出為準(zhǔn)。第三步如果上述兩步都沒(méi)問(wèn)題可以考慮顯存故障。跑一遍bandwidthTest或者deviceQueryCUDA 自帶的示例程序如果設(shè)備查詢(xún)本身出錯(cuò)基本可以斷定硬件有問(wèn)題TensorRT 什么的先放一邊。6.3 精度漂移FP16 下某些模型輸出變成 NaN 或錯(cuò)檢大多數(shù)模型 FP16 沒(méi)問(wèn)題但如果你碰上對(duì)精度極端敏感的模型尤其是層數(shù)極深、激活值動(dòng)態(tài)范圍很大的網(wǎng)絡(luò)FP16 可能導(dǎo)致梯度或推理輸出異常。在你依賴(lài) TF-TRT 自動(dòng)精度分配時(shí)它通常能規(guī)避大部分問(wèn)題但無(wú)法保證 100%。排查思路是先做精度對(duì)比用 TensorFlow 原生 FP32 推理結(jié)果作為基準(zhǔn)逐層或整體比較 TensorRT 輸出的數(shù)值差異。如果你用的是 Python API可以在轉(zhuǎn)換時(shí)打開(kāi)層級(jí)精度診斷如果用的是 TF-TRT可以設(shè)置precision_modeFP16的同時(shí)給特定層通過(guò)set_layer_node_precision手動(dòng)降回 FP32。我遇到過(guò)一個(gè)更隱蔽的情況模型的輸入歸一化方式不對(duì)。TensorFlow 訓(xùn)練時(shí)預(yù)處理是將像素值除以 255但我在 TensorRT 側(cè)直接喂原始 0~255 的 uint8 數(shù)據(jù)導(dǎo)致數(shù)值范圍差了 255 倍FP16 下這種大動(dòng)態(tài)范圍直接觸發(fā)精度問(wèn)題。排查后把預(yù)處理修正到和訓(xùn)練一致問(wèn)題立刻消失。所以記住先檢查預(yù)處理鏈路再懷疑 TensorRT 精度策略。6.4 一次奇怪的 5% 性能回退竟是因?yàn)?CPU 預(yù)處理成了瓶頸某次我優(yōu)化完 GPU 推理延遲降到 12ms但整個(gè)服務(wù)端到端延遲還是 60ms怎么都降不下去。一開(kāi)始懷疑 TensorRT 沒(méi)生效后來(lái)用nvprof或nsight compute一看GPU 空閑時(shí)間占了 80%瓶頸根本不在這里。真正的問(wèn)題是我的圖像解碼、resize、歸一化全在 CPU 上串行跑成了新瓶頸。解決思路是做預(yù)處理流水線(xiàn)并行用 OpenCV 的imread GPU 側(cè)的tf.image或者 CUDA 工具把 resize 和 normalize 移到 GPU 上或至少用多線(xiàn)程預(yù)取下一幀和當(dāng)前幀的推理重疊。優(yōu)化之后端到端延遲從 60ms 降到 24msGPU 空閑時(shí)間也大幅減少。這個(gè)經(jīng)驗(yàn)非常重要模型推理提速之后原來(lái)的次要瓶頸會(huì)變成主要瓶頸你必須重新審視整條鏈路。7. 從 TF-TRT 到多路并發(fā)部署一個(gè)可供參考的生產(chǎn)架構(gòu)聊完單模型加速最后落到實(shí)際部署層面。熱詞里很多人搜gpu租用、gpu計(jì)算資源分配說(shuō)明大家已經(jīng)意識(shí)到模型優(yōu)化完只是第一步怎么榨干 GPU 才是最終目的。這里給出我生產(chǎn)環(huán)境中用的一套相對(duì)成熟的思路供你參考。7.1 用 CUDA Stream 實(shí)現(xiàn)多路視頻并發(fā)推理多路視頻場(chǎng)景最大的特點(diǎn)是每一路都需要獨(dú)立處理但 GPU 計(jì)算可以共享。如果一路一路串行推理GPU 利用率很低T4 上 16 路 1080p25 檢測(cè)基本跑不贏。我的做法是引入 CUDA Stream 機(jī)制將多個(gè) batch 的推理放到不同的 stream 上執(zhí)行讓它們并行提交給 GPU由 GPU 調(diào)度器按需分配計(jì)算資源。TensorRT 的引擎執(zhí)行本身是異步的配合 stream 就能實(shí)現(xiàn)第一路在算前處理時(shí)第二路同時(shí)在進(jìn)行卷積計(jì)算的流水線(xiàn)效果。一個(gè)注意點(diǎn)多路并發(fā)不是簡(jiǎn)單地把 batch 翻倍。每個(gè) stream 里的推理仍然保持較小的 batch比如 2~4這樣既能讓 GPU 吃飽又不會(huì)因?yàn)閱?batch 過(guò)大導(dǎo)致某一路的延遲抖動(dòng)加劇。實(shí)測(cè) T4 上 YOLO 640 輸入、FP16 引擎4 個(gè) stream 每 stream batch 2整體吞吐比單流 batch 8 還要高約 15%原因就在于流之間可以提高整體的 kernel 重疊率。7.2 預(yù)熱、多進(jìn)程和顯存隔離的經(jīng)驗(yàn)值生產(chǎn)服務(wù)啟動(dòng)后第一次推理特別慢這個(gè)是 TensorRT 引擎加載、cuDNN 初始化、CUDA context 創(chuàng)建疊加的結(jié)果。我的經(jīng)驗(yàn)是在服務(wù)真正接受流量前, 先跑一次熱身推理加載引擎后立刻用一個(gè) dummy 輸入跑幾幀讓 CUDA context 初始化完畢。這個(gè)熱身過(guò)程大約需要 500ms 到 2 秒不等但對(duì)線(xiàn)上延遲穩(wěn)定性非常重要。多進(jìn)程部署時(shí)要注意每個(gè)進(jìn)程都會(huì)創(chuàng)建獨(dú)立的 CUDA context 和 TensorRT engine 實(shí)例顯存占用是疊加的。所以我通常不用進(jìn)程數(shù)去硬頂 CPU 核數(shù)而是根據(jù)顯存余量反推假設(shè)每進(jìn)程占用 1.3GB一張 16GB 的 T4 卡單卡最多跑 10 個(gè)進(jìn)程左右再多就要 OOM。更可控的方式是單進(jìn)程多線(xiàn)程配合前面說(shuō)的 CUDA Stream讓一個(gè)進(jìn)程管理多路流減少顯存浪費(fèi)。7.3 引擎文件的保存與跨機(jī)復(fù)用架構(gòu)匹配就可用但別貪TensorRT 引擎文件.engine 或 .plan可以序列化保存但前面說(shuō)了它綁定 GPU 架構(gòu)和 TensorRT 版本。同一個(gè)集群里如果硬件完全一致那引擎文件直接拷過(guò)去加載即可如果硬件不一致必須在目標(biāo)機(jī)上重新構(gòu)建。為了平衡靈活性和加載速度我采用了一種混合策略保存 ONNX 中間文件在每臺(tái)部署機(jī)上首次啟動(dòng)時(shí)自動(dòng)構(gòu)建引擎并緩存到本地磁盤(pán)以后直接加載緩存。這樣既不需要提前知道每臺(tái)機(jī)器的架構(gòu)也不會(huì)每次啟動(dòng)都重新構(gòu)建。自動(dòng)構(gòu)建的邏輯可以做得簡(jiǎn)單一點(diǎn)import os engine_cache ./engine_cache os.makedirs(engine_cache, exist_okTrue) def load_or_build_engine(onnx_path, precisionFP16): import hashlib key hashlib.md5((onnx_path precision trt.__version__).encode()).hexdigest()[:16] cache_path os.path.join(engine_cache, f{key}.engine) if os.path.exists(cache_path): with open(cache_path, rb) as f: return f.read() # 構(gòu)建邏輯省略... engine build_engine(onnx_path, precision) with open(cache_path, wb) as f: f.write(engine) return engine這個(gè)方案的另一個(gè)好處是模型更新后ONNX 文件變了hash 自然不同會(huì)自動(dòng)觸發(fā)重新構(gòu)建不需要手動(dòng)清理緩存。7.4 從單卡到多卡gpu計(jì)算資源分配的一個(gè)簡(jiǎn)單框架當(dāng)你單卡優(yōu)化完成接下來(lái)就是橫向擴(kuò)展的問(wèn)題。多卡環(huán)境下最簡(jiǎn)單的任務(wù)分配方式是按路數(shù)切分比如 32 路視頻4 張 T4 卡每張卡分 8 路。路數(shù)和卡的映射可以先用固定公式做card_index stream_index % num_cards簡(jiǎn)單但有效。如果想更精細(xì)可以引入一個(gè)簡(jiǎn)單的調(diào)度器實(shí)時(shí)記錄每張卡的顯存占用和推理延遲把新請(qǐng)求分配到負(fù)載最低的卡上。在云上租用 GPU 時(shí)我習(xí)慣先把單卡能力測(cè)準(zhǔn)能撐幾路、延遲多少然后倒推需要租幾卡。比如 100 路 1080p25 檢測(cè)單卡穩(wěn) 16 路那至少需要 7 卡考慮冗余和峰值余量我建議租 8 卡。別按單卡能跑 20 路這種理論值去算實(shí)測(cè)數(shù)據(jù)永遠(yuǎn)比理論值靠譜。最后再分享一個(gè)實(shí)用的運(yùn)維技巧GPU 推理服務(wù)上線(xiàn)后持續(xù)監(jiān)控顯存占用和卡上實(shí)際利用率的差異。你會(huì)發(fā)現(xiàn)當(dāng)多路視頻并發(fā)不高時(shí)顯存占用率很低但利用率卻可能從 30% 跳到 90%這說(shuō)明 TensorRT 已經(jīng)把計(jì)算的吞吐拉滿(mǎn)了。如果利用率一直壓在 30% 以下多半是 CPU 預(yù)處理、IO 或者調(diào)度邏輯卡了脖子別急著再優(yōu)化模型先往上下游找找。這條經(jīng)驗(yàn)我用了很多年幾乎每次都能定位到真正的瓶頸。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月综合久久| 婷婷五月天狠狠色| 婷婷中文在线| 亚洲99一级无嗎特制在线| 丁香婷婷性久久| 婷婷五月综合婷婷| 亚洲AV人人操| 日本三级色| 91丨九色丨43老版熟女| 亚洲天堂啪啪| 天天透天天爱| 婷婷五月色網站| 91狠狠色丁香婷婷综合久久| 操逼巨乳91| 国产欧美日韩综合精品一区二区| 亚洲日日日| 色婷婷狠狠干芒果TV| 99热精品在线| 九色视频91| 五月丁香婷久久| 丁香六月婷| www,色婷婷| 婷婷色色五月| 激情九九这里只有精品| 九九热a| 亚洲精品第一国产综合亚AV | 婷婷五月天伊人| 激情综合网,五月| 91九色丨国产丨爆乳| ..真实国产乱子伦毛片| 丁香五月花| 亚洲九区| 婷婷色婷婷| 美女五月天| 丁香婷婷久久激情| 天天操夜夜玩!| 日本色婷婷| 5五月综合网亚洲| 第九色区av天堂| 色99网站| 五月综合视频| 韩国真做片在线观看| 我爱大香蕉| 噜噜五月天综合| 思思久久96热在精品国产,| 日日噜狠狠| 婷婷色偷拍| 丁香五月花影院| 一本大道嫩草AV无码专区| 狠狠操综合| 五月天四色房丁香亭亭| 天天干天天拍| 五月婷婷熟女| 深爱激情综合| 丁香五月av| 久久激情网| 91九色精品熟女内射| 久久92| 婷五月天| 99久在线视频| 五月综合色| 激情五月综合网| 超碰人妻在线| 中文AV网站| 色播五月网| 色综合丁香| 99热都是精品| 欧美槡BBBB槡BBB少妇| 婷婷大香蕉| 欧美 日韩 成人 在线| 91色在线| 狠狠艹狠狠艹| 亚洲噜色| 涩综合网| 人妻丰满精品一区二区A片| 色五月婷婷网| 午夜少妇在线观看视频| 葵花AV在线| 成年视频免费观看| 欧日美女Va| 99人这里只有精品| www色婷婷com| 天堂草在线观| 丁香五月天欧美| 性小说五月天| 丁香成人视频| 99精品综合| 五月丁香久久| 熟美女麻豆| 狼人婷婷久久| 婷婷五月丁香婷婷| 九九干视频| 欧美色五月| 免费看欧美成人A片无码| 69精品人人人人| 国产成人综合亚洲| 91狠狠综合网| 中文字幕性爱丰满| 91无码视频| 97色色婷婷| 天堂伊人干| 天啪天啪天啪天啪| 六月婷婷无码| 夜色综合网| 色99在线视频| 色五月激情网| 99a级片| 五月丁香综合激情在线观看| 五月网网站| 91碰碰视频| 国外亚洲成AV人片在线观看| 91九色视频| renre人人操国产超碰在线 | 五月婷婷香| 夜夜嗨一区二区三区直播内容| 狠狠色婷婷色| 婷婷五月天直播| 日本成人噜噜噜| 色五月激情网| 亚洲综合视频网| 色 五月俺去也| WWW.99视频| 精品国产AV色一区二区深夜久久| 欧日韩成人| 久热这里精品免费| 亚洲人人操| 久久思思热| 性爱五月婷| 婷婷六月丁香在线| 人妻啪啪啪| 操人无码| 99玖玖在线视频| 插插干干干色| 99热网站| 婷婷色播婷婷| 激情小说五月欧美亚洲丁香| 国产欧美日韩综合精品一区二区| 视频1区2区| 婷婷五月丁香五月天| 九九99久久| 黄桃AV无码免费一区二区三区| wWW九九在线播放| 9久视频| 婷婷五月天香蕉| 99自拍视频网站| 六月丁香五月天| 97午夜一区二区| www久| 久久天天| 99久久.www| 人妻内射麻豆视频| 在线不卡视频| 五月丁香六月婷婷激情四射| sS丁香五月婷婷| 九九无码| 五月婷婷深深爱| 人人人舔人人人操人人人摸人人人97| 尤物一区二区| 26UUU精品一区二区c〇m| 综合激情五月丁香| 婷婷五月天堂| 亚洲色五月| 色色丁香五月| 日韩色久| 97色操| 丁香久久久| 少妇AB又爽又紧无码网站| 狠狠色婷婷7777久| 五月丁香777| 大香蕉99热| 婷婷亚洲五月丁香综合在线| 丁香激情五月天| 欧美日韩成人在线观看| 日本三级黄色大片| WWW五月婷婷| 久热这里只有精品6| AA久久| 五月丁香婷婷爱| 99re在线免费视频| 五月天婷婷色色网| 99激情网| 国产 码在线成人网站| 日本片日本片祼观看网站在线看中文版网页在线看| 婷婷五月天色色| 亚洲免费99| 婷婷射综合| 午夜爱爱网站| 六月综合婷婷开心伊人| 青青草深爱激情网| 潘金莲AAAAAAAAAA| 黄色AAAAA| 久久日婷婷| 激情五月天www| WWW嗯嗯啊啊啊啊| 婷婷久久六月费| 欧美69久成人做爰视频| 丁香六月五月天| 六月综合婷婷开心伊人| 激情五月六月婷婷| 激情黄色小说五月天| 欧美婷婷丁香社区在线播放| www.色五月| av国产精品偷| 欧美色综合天天久久综合精品| 最新亚洲色色网| 色五月,com| 五月婷婷在线观看| 9l视频自拍九色9l视频自拍九色9l社区 | 亚洲国产精品二二三三区| 五月丁香六月综合情在线观看 | 99国产精品久久久久久久久久久 | WWW.17C亚洲精品| 99久久精品色老| 99热在线看| 九九热只有精品6| 国产欧美日韩综合精品一区二区| 婷婷五月丁香综合激情| 金桔一区二区ab地址| 色婷婷狠狠| 丁香五月婷婷少妇| 五月婷婷七月丁香| 欧美电影在线观看| www.婷婷,com| 五月天小说激情| 99小视频在线观看| 极品少妇XXXX精品少妇偷拍| 狠狠人人| 色天使色婷婷| 久久九九热38| 激情综合五月| 色性五月天| 婷婷九月亚洲| 99久久综合狠狠综合久久| 99综合视频| 日日夜夜狠狠婷婷色| 久99久视频精品| 婷婷五月丁香综合人妻| aa久久| 国产AV一区二区三区最新精品 | 欧美在线视频99| 丁香婷婷色情社区成人小说| 99re思思| 色哟哟www| 欧美大片| 天天插综合| 激情五月深爱婷婷| 色婷婷成人在线| 激情综合色婷婷啪啪六月天| 激情精品久久| 国产成人精品一区二三区熟女在线| 丁香五月婷婷网| 激情五月丁香综合蜜桃| 91九色熟女| 日日狠狠久久偷偷四色综合免费 | 91久久99久久91熟女精品| 六月色丁香婷婷| 伊人久久婷| 五月婷婷黄色视频| 五月天色播网| 91色色色| 99热新网址| 91久久人人操| 色色色色欧美| 日日躁夜夜躁狠狠久久AV| 亚洲欧洲国产精品| 9九色首页| 99精品视频免费观看,| 开心五月婷婷激情| 91人人操人人| 九九五月天| 日本在线wwww| 日韩五月婷婷久久| WWW,五月| 可以免费看AV网站| 热99精品视频| 丁香丝袜五月| 情婷婷五月天| 午夜九九电影| 婷婷深爱五月天在线| 色综天天综合| 五月婷婷开心深| 婷婷色九月| 99资源在线| 99婷五月| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 五月丁香久久网| 五月丁香六月婷婷综合网站| 激情五月丁香六月综合AVXXXX| 亚洲女婷婷五月基地综合久久久| 色情播放| 亚洲夜夜操| 另类小说五月天综合网| 久久这里有精品在线观看| 婷婷丁香五月视频| 丁香六月天婷婷色| 色婷婷先锋| 亚洲女婷婷五月基地综合久久久| www.丁香黄色五月天人与| 婷婷色色综合| WWW色五月| 精品人妻午夜一区二区三区四区 | av免费在线看不卡无毒| 久久电影五月天丁香电影| 婷婷丁香红五月91C| 五月J香蕉婷婷| 极品少妇XXXX精品少妇偷拍| 在线看AV| 六月久久婷婷| 99在线精品视频免费| 99激情网| 人人做天天爱| 思思热视频在线| 婷婷五月色激情欧美激情| 日本狠狠网| 最新va在线播放| 色天堂在线| 久久久91| 国产精品久久久久久久久久| 久久久久9久无码视频| 以及AA大片看看| 亚洲免费电影2| 五月婷婷综合性爱噜噜| 五月丁香美女视频| www狠狠| 日日狠狠久久偷偷四色综合免费| 性综合网| 99久久久久| 少妇高潮呻吟A片免费看软件| 亚洲中文字幕在线观看| 久久中国毛毛片爱久久| 色色色在线观看| 在线视频激情网站| 亚洲va日| 久久六月天| www久久久久久久97| 久久久久人妻网址| 九九综合九色欧美狠狠| 九九九日本熟女| 丁香五月AV综合| 久久九精品| 免费亚洲婷婷| 性色做爰片在线观看WW| 9l视频自拍九色9l视频在线观看| 狠狠五月激情在线| 人人爽欧美婷婷久久久五月丁香| 五月天丁香网| 午夜]香婷婷深深爱| 91热视频色网站| 成人必爱视| www,av好吊操| 中文激情网| 激情电影五月婷婷| 夜夜夜天天操| 久久久天天啊| 亚洲视频在线网站| 大香蕉综合网| 天天插综合| 婷婷久久色| 色天使久久综合| 开心五月综合激情网| 激情婷婷五月天伊人在线观看| 人人摸人人摸| 久久精品99国产精品日本| 婷婷免费视频| 小视频一区| 国产成人高清| www.一起草av| 99热精这里只有精品| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 色五月天本日| 欧美三级A做爰在线观看| 日本久久9| 午夜色色色极品视频| 色五月丁香网| 国产麻豆视频| 狠狠色五月激情| 五月婷婷视频在线观看| 67194中文在线| 成人五月天综合网| 综合久久97| 日本婷婷色| 五月天婷亚洲天综合网综合| 色欲婷婷五月天| 在线超碰免费| 99色播| 可以看的AV| 久激情| 婷婷基地五月色| 色五月综合| 99福利导航| 超碰1999| 久久久九九九 99| 26uuu激情五月天| 天天搞天天爽| 欧美影院婷婷| 91操片| 18久久| 久久这里只有国产视频| 91男人操女人视频| 久久五月丁香六月婷| 天天狠天天叉| 婷婷五月色| 97性视频| 婷婷97碰碰| 五月丁香六月情| 激情五月天色色| 女人天堂久久| 婷婷五月亚洲一本在线丁香| 九九婷婷五月天| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 99九九精品视频| 中国丰满熟女A片免费观| 天天激情5月天亚洲| 人人摸人人操人人爽| 久久久久久99精品无码| 玖玖婷婷综合| 超碰成人在线观看| 色99网| 丁香五月激情啪啪| 可以看的av| 色色色色色热| 久久xx| 熟女激情网| 九九在线精品| 久久婷婷五月草视频在线播放| 欧美在线干| 婷婷在线观看五月天在线视频| 色色色免费视频| 狠狠色婷婷7777久| 99热超碰| 色五月婷婷啪啪五月| www.婷婷com| 日日狠夜夜狠| 六月色激情| 亚洲精品视频电影| 久久婷婷五月| 男人操女人高潮91视频| 99视频网| 日韩久热| 欧美色综合天天久久综合精品| 五月丁香在线国产| 成人va在线| 色偷偷色婷婷| 激情五月开心五月在线视频| 大色鬼综合| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 色婷婷久久| 久久伦乱| 99久久国产宗和精品1上映| 五月天丁香久久综合 | 久久草大香蕉| 成人国产网站在线免费看| 五月婷婷乱| 99婷婷综合| 五月香婷婷| www.99色| 六月婷综合| 丁香五月欧美午夜视频| 婷婷色激情网| AV片在线观看| 丁香五月激情婷婷| 天天插天天| 丁香六月av| 亚洲综合五月天婷婷丁香| 国产高潮A片羞羞视频涩涩| 五月丁香婷婷啪啪综合网| 狠狠狠狠青草| 亚洲色热| www夜夜| 第四色激情网| 超碰2021| 玖玖精品视频| 色婷婷www| 猫咪伊人久久| j五月香在线| 超碰男人色| 五月婷婷色男女| 国产综合久久久777777| 91超级碰碰| 国产午夜精品久久久观看| 97人妻碰碰碰久久香蕉| 97色五月婷婷在线| 在线视频你懂得| 99性感视频| www.henhenl| 婷婷狠狠综合网入口| 99熟女啪啪视频| 六月香五月婷| 五月婷婷久久综合| 超91在线视频| 午夜天天精品视频| 99热在线只有精品| 五月婷婷色播| 丁香五月天成人| 久久免费精品小视频| 91狠狠色| 另类五月婷婷| 久热这里只精品| Va另类视频| 久热这里只有精品6官网亚洲| 4438激情网| 婷婷色色五月天| 婷婷激情五月天激情| 亚洲色婷婷色| 婷婷久久亚洲| 五月婷婷色播| 夜夜爱爱亚洲| 婷婷干| 婷婷欧美| 色五月在线观看| 五月天综合色| 亚洲 六月 综合| 丁香六月婷婷缴情欧美| 亚洲激情四射| 色色热| 人妻体体内射精一区二区| 91视频免费后入强操| 国内精品玖玖| 99成人精品六| 婷婷五月综合婷婷| 丁香午月AV中文字幕| 色婷婷a| 综合五月丁香六月婷婷| 久久婷婷六月综合综合| 9|在线观看视频| 91婷婷视频| 久久精品国产AV一区二区三区 | 丁香九月激情| 99亚洲视频| 五月天另类图片| 夜夜噜夜夜奇| anquye五月| 亚洲激情五月婷婷日日| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 热99这就是精品视频| 九九热精品99| 婷婷久久99| 另类激情五月在线视频欧美| 激情五月婷婷视频一区二区三区| 婷婷丁香18| 色五月婷婷色五月婷婷色五月婷婷| 婷婷激情五月综合在线视频| 人人草人人爱手机视频看看| 激情五月婷在线精品| 99热这里只有精品2024| 五月色网| 婷婷五月六月| 日本WWW九九九| 玖玖五月| 色五月天综合网| 欧美日韩成人在线| 久久久久久人妻| 亚州美女| 亚洲中文字幕翔田千里| 97操在线资源| 五月激情网站| 亚洲激情亚洲激情 | 五月丁香999| 精品成人无码A片观看香草视频| 99久久99热这里只有精品| 婷婷综合在线观看视频| 五月天伊人网| 97人人操人人爽| 欧美成人精品A片免费一区99| 五月婷在线| 亚洲无AV在线中文字幕| 99热黄| 丁香密臀AV激情网| 综合激情五月四射婷婷| 五月 丁香 欧美| 久久久久久五月天| www.五月天婷婷| 色色色免费视频| 五月综合色| 狠狠操狠狠色| 97操碰碰无码视频| www.五月激情.com| 99热免| 亚洲精品国产成人AV在线| 亚洲综合五月天| 久久婷婷丁香花综合网| 日本97在线| 九九热视频精品2| 九九热视频免费的| 大香蕉伊人爱在线| 午夜成人片400| 欧美超碰亚洲| 五月天激情播播网| 激情内射p| 婷婷五月综合在线| 久久综合五月天激情小说网站 | 思思久久99热只有频精品66| 成人色图情色成人网 www.5b5b5bcom 五月天 | 在线播放中文字幕| 精品无码片| 婷婷五月天色色| 婷婷五月天成人基地| www.日本91| 熟妇人妻中文字幕无码老熟妇| 五月天堂色色| 99热这里只有精品21| 色综合久久88色综合天天| 色欲天天综合| 97伦乱| 婷婷久久网| 四月婷婷丁香| 天天色播| 久久婷婷内射| 五月丁香婷婷激情澎湃四射| 丁香五月天激情视频| 婷婷成人av| 在线观看五月婷婷网| 国产色色色色| 激情小说之五月| 97碰啪啪| 五月婷婷www| 五月丁香婷婷AV天堂| 婷婷五月色色| 色婷婷啪啪综合网| 五月婷婷色男女| 日韩色色视频| 丁香五月成人| 日韩在线观看亚洲| 婷婷五月婷婷五月天| 久久伊人大香蕉| 国产44页| 婷婷五月天综合色| 搡BBBB搡BBB搡18| 日韩精品999| 五月成人天| 欧美三级巜人妻互换| 操碰99| 天天艹夜夜艹| Av在线不卡一区| 好吊丝aV| 六月丁香啪啪| 狠色综合网| 超碰com| 影音先锋AV男人站| 99视频一区| 欧亚成人A片一区二区| 欧美色图45678| 丁香婷婷色色| 国产亚洲99久久| 五月天另类图片| 这里只有精品96| 99热20| 五月丁香六月婷婷网| 色婷婷超碰| 欧美色婷婷| 亚洲国产网址| 色色色色色色色色色色色色色色,网站| 51精品国自产在线| 狠狠色狠狠鲁| 欧美三级巜人妻互换| 天天色综合色色色色色。| 丁香婷婷色五月| 14色综合婷婷| 色婷婷成人网| 激情久久综合| 99视频| 丁香六月婷婷综情欧美| 超碰在线91| 玖玖综合色| 丝袜人妻| 99热永久在线观看| 激情五月综合网| 思思99热在线| 强辱丰满人妻HD中文字幕| 丁香婷婷偷拍| 伊人丁香五月天丁香在线婷| 婷婷综合五月色播| 99国产97在线,| 97欧美在线| 91婷婷色 | 久久久99免费视频| 另类图片色五月| 亚洲啪视频| 久久狠狠干| 日操| 偷拍丁香九月激情| a久久免费视频| 久久精品五月| 九九热中文| 五月婷婷深深爱| 另类视频综合| 亚洲天堂亚洲色色色| 丰满少妇乱A片无码| 五月天基地| 97人人操人| 五月丁香六月婷婷久久肏| 色五月天丁香婷婷| 五月天六月色| 激情婷婷另类| 五月婷婷色色网址| 欧美97色| 六月婷五月丁香| Caoporn公开| 97资源欧美日韩大香蕉超碰一区| 这里只有精彩小视频视频网站| 日韩一区二区A片免费观看| A A色色| 久久99精品久久久久久青青AR| 91色色色18| www.91.com处女在线直播| 91色呦哟| 五月天 婷 欧美亚洲| 成人看片网站| 色五月丁香91| 97在线视频人妻九色| Av狠狠色丁香婷| 大香蕉伊人99| 九色1区视频在线| 91人人操人人爱| 五月婷婷伦理| bukadeavzaixian| 另类天堂| 婷婷六月五月| 久久五月丁香婷婷| 影音先锋五月天婷婷丁香在线观看| 婷婷色操| 综合性视频99| 日本久久婷婷| 亚洲无码影音| 99精品在线播放| 夜夜天天久久婷婷| wwww.色婷婷| 另类视频五月天| 亚洲激情四射| 亚洲成人无码片| 欧美内射AA| 能看的av片| 秋霞A V毛片| 久久6这里只有精品| 操91综合网| 婷婷综合五月| 婷婷成人五月天一区| 色婷婷久久综合久色综| 久久婷婷五月丁香蜜桃网| 婷婷五月天激情小说| 天天操夜夜肏| 激情 五月 婷婷 丁香| 婷婷五月天综合AV| 色亭亭影园| 久久人人妻| 欧美日本黄色| 99免费热视频在线| xxx综合在线| 丁香五月天啪啪| 伊人久久综合| 99re资源在线视频导航| 婷婷午夜| 成人丁香五月| 97色操| 久久久久久五月天| 亚洲AV激情五月综合网| 91精品久久久久久77777| 97碰碰人人视频| 少妇性BBB搡BBB爽爽爽视頻| 亚洲中文乱字字幕在线永久| 丁香五月激情啪| 99爱视频免费| 久久免费婷婷视频| 天天天天做夜夜夜夜做| 色五月久久成人婷婷| 五月丁香激情啪啪| 五月丁香好婷婷A片网| www99xxxx五月丁| 182.t午在线观看| 中文字幕成人| 99爱视频免费| 婷婷丁香五月亚洲| 久久婷婷综合基地| 99热99美国在线观看| 久久99热这里只有精品| 婷婷激情五月色综合| 久久婷婷五月草视频| 日本狠狠爽| 激情影院内射| 综合激情网五月激情| 熟女色专区| 婷婷六月丁香激情| 99精品视频免费在线播放| 日本综合久| 神马欧美精| 91色噜噜狠狠狠狠色综合| 久久久久久久久久久44| 99WWW免费视频| 日本操片| 婷婷色播婷婷| 五月天日日操夜夜操 | 人人操碰| 熟女国产在线一区二区三区四区| 日逼影音先锋男人资源站| 五月丁香综合色婷婷| 九九99精品视品| 99惹 精品在线| 婷婷综合国产| 中文字幕亚洲-区久久99婷婷| 91AV视频| 丁香久久五月婷综合| 色五月超碰| 色婷婷电影| 夜夜干天天操| 99综合网| 国产毛片精品一区二区色欲黄A片| 色色色网站| 欧美三级巜人妻互换| 伊人99久久| 热婷婷久| 色吧五月婷婷| 婷婷五月天天天日日夜夜| 五月视频日本免费观看| 99热九九在线| 深爱婷婷网| 亚韩在线视频| 桃色五月天| 色啪久 | AV在线观看网站| 这里只有精品免费在线视频| 色六月丁香婷婷啪啪啪| 五月丁香婷婷五月色| 伊人久久五月天| 爽天天天天天天天| www.色五月| 99热这里有精品| 一区操| 色婷婷免费观看| 精品网站99| 丁香五月区| 91碰| 国产精品人成A片一区二区| 99视频热99| 六月婷婷久久| 婷婷五月天.com| 99这里只有| 亚洲丁香花色| 婷婷婷婷午夜| 伊人五月天久久| 亚洲天堂大香蕉| 五月婷婷播| 天天草天天摸| 亚洲人人操| 熟妇天天综合| WWW,激情五月天,COM| 日日懆天天懆| 日本在线视频www色| 夜夜爽77777妓女免费下载| 超碰在线播放免费观看| 第四色婷婷日本| 999热在线视频| 久99| 九月色婷婷综合亚洲| 超碰人人艹| 五月婷导航| 五月色综合| 五月天婷婷网站| 五月丁香久久精品在线观看| 五月丁香激情婷婷| 丁香五月婷婷六月| 精品动漫 无码av| 综合婷婷六月| 中文字幕成人影视| 亚洲中文字幕在线观看| 天天色图| 色婷五月天激情| 一起草AV| 丁香六月狠狠干| 五月天激情网址| se99视频| 丁香婷婷大香蕉| 久一网站| 人人爽亚洲| 日本三级中国三级99人妇网站| 丁香五婷| 99视频这里只有久久精品| 亚洲黄色影视| 2013AV天堂| 91精品国产色猫| 日本五月婷婷久久久六月丁香| 婷婷色在线视频| 婷婷影视久久| 99在线免费视| 日韩999| 一区二区三区XXXXXX| 色五月婷婷丁香婷婷| 99热在线精品观看| 天堂爱啪啪| 五月婷婷丁香在线| 深夜婷婷 丁香| wWw色五月| 色婷婷亚洲婷婷| 丁香五月激情欧美| 极品五月天| 国产暴力强伦轩1区二区小说| 综合久| 婷婷婷久久久| 六月色婷婷综合影视| 婷婷五月天亚洲图片| 日韩人妻无码专区| 成人短视频在线| 夜夜爽天天干| 日韩国产在线精品| 五月婷婷中字在线| 岛国AV网| 婷婷五月天成人| 丁香婷婷五月天激情四射| 99热在线看片| 五月婷婷色五月| 热99.com婷婷| 亚洲激情网站| 综合久久婷婷99| 五月丁香成人版| 成人中文网| 夜夜夜夜操| 成人无码精品1区2区3区免费看| 欧美激情五月综合| 色色色热| 色婷婷五月天天天天天| 综合网天天| 综合激情五月四射婷婷| 亚洲成人五月天| 2015好吊操| 五月丁香综合| 综合xx网| 亚洲AV在线免费看| 天天草人人摸| 91男同| 婷婷人人操| 丁香五月另类色婷婷麻豆| 伊人久久大香线蕉av最新| 爆乳熟妇一区二区三区爆乳| 猫咪伊人久久| 久久性爱视频| AV伊人青草丁香六月| 日韩无码专区| 啪啪五月天啪啪| 超碰成人黄色网| www.ppypp| 青青草网武则天| 9l视频自拍9l九色9l成人| 丁香六月啪啪啪| 夜夜躁爽日日| 丁香六月视频| 五月婷婷黄网站大全| 狠狠干在线| 欧美综合123区| 热99在线| 九九一综合精品| 婷婷五月天久| 成人在线综合| 九九99热| 激情五月婷婷| 3p日韩网站视频| 五月婷婷亚洲综合在线| 4399人妻无码久久久| 99色色爰| 五月综合激情久久| 久久综合人妻| 啊v视频在线观看| 国产午夜精品AV一区二区麻豆| 丁香五月网在线观看| 操操日韩| 99性色| 狠狠狠五月婷婷六月丁香| 欧美婷婷综合网| 五月婷婷色| 婷婷综合网伊人| 丁香六月婷婷综合啪啪| 久久久久久人妻| 伊人色综在线| www.henhenl| 夜精品无码A片一区二区蜜桃| 天天插天天很| 亚洲AV成人在线观看| 99这里有精品视频| 天天激情综合| 男人的天堂在线婷婷| www.91色| 婷婷娱乐丁香综合网| 九九色婷婷| 五月婷婷福利| 丁香五月婷婷啪啪啪| 中文字幕有多少字| 五月丁香色综合| 亚洲色婷婷婷婷人人爽| 久久精品女人天堂AAA| 五月婷婷五月| 色XX综合网| 五月婷婷激情综合在线| 日韩啪啪自拍| 五月花婷婷| 五月丁香婷婷综合网| 丁香五月自拍| 五月香蕉婷婷| 久久婷婷亚洲| 五月丁香婷婷欧美| 婷婷热婷婷色| 任你搞网站| 狠狠一日| 日本色五月| 99这里只有精品视频| 精品无码色欲AV| 91精品综合久久婷婷九色| 亚洲妇女熟BBW| 操操人人| 激情婷婷啪啪| 色婷婷五月天激情在线播放| 六月婷基地| 国内熟女黄色系列| 五月丁香色色网| 操日视频| 婷婷开心久久| 亚洲激情高潮| 国产一区18| 亚洲蜜桃精久久久久久久久久久久| 五月婷婷色播| 天天色综合图片| 婷婷 激情 五月| 另类小说五月天| 丁香五月最新网址| 色五月丁香91| 北京熟妇搡BBBB搡BBBB| 91热久久| 99热这里只有精品99| 国产成人va在线| 欧美激情五月天婷婷| 日本视频99| 噜噜五月天综合| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 国色天香成人网| 激情AV| 五月天伊人久久久久| 激情五月丁香六月婷婷| 天天噜天天爱| 人人色人人摸人人看| 日韩精品一曲二曲三曲四曲五曲| 五月丁香婷婷综合| 五月婷婷性爱| 99热e| 五月婷婷,狠狠操| 五月婷婷五月天激情网| 天天爽夜夜爽| 五月丁香六月合| 久久这里只有精品07 | 欧美成人精品A片免费一区99| 99色婷婷| 丁香五月电影| 色婷婷综合视频| 激情啪啪五月| 五月天综合网| 色五月成人| 综合色99| 亚洲在线操| 亚洲AV中文在线| 激情五月天啪啪| 大香蕉久久婷婷精品综合| WwW色婷婷| 99热综合| 午夜五月天| 婷婷丁香五另类网站| 九九这里是免费的视频5| 色婷婷9| 丁香五月婷婷亚洲综合精品| 亚洲天堂啪啪| 丁香五月影视| 99啪啪视频| 夜夜骑夜夜撸| 无码99| 狠狠干综合| 熟妇内谢69XXXXXA片| 青青草视频免费观看| 国产XXXX搡XXXXX搡麻豆| 99精品偷自拍| 激情 久久 婷婷| 亚洲一二三网| 日韩AV中文字幕在线| 国产精品国产| 色综合久久综合中文综合网| 色五月色五天色情网| 日本色频| WWW丁香五月| 九月婷婷丁香| 国产美女最新VA在线免费观看| 婷婷五月小说色综合| 日日噜狠狠| 秋霞性爱AV| 久久五月天大美女| 337p午夜影院| 婷婷五月综合激情免费视频| 久久丁香五月天| 色婷精品91| 久久婷婷五月天| 99在线精品视频| 色色色欧美| 少妇AB又爽又紧无码网站| 六月婷综合| 久色88| 婷婷五月天AV网| 秋霞电影一级黄| 蜜乳A√| 婷婷色五月天在线| 伊人久久大香网| 五月婷婷五月天| 午夜]香婷婷深深爱| 综合99视频| 九九热亚洲中文在线观看免费| 26uuu国产精品| av狠狠操| 五月天综合视频| 欧美色片中文字幕久久久久| 色射7856五月天激情四射| 91狠狠色| 五月丁香九九九综合| 成功精品影院| 色色色网站| 久久性都花花世界成人免费视频| www.cao.com久久| 亚洲五月天色色| 婷婷五月天堂| 五月婷婷激情69| 国产激情av| 国产特级毛片AAAAAAA高清| 综合精品啪啪| 丁香五月在线人妻| 久久aaaa片一区二区| 91碰视频| 婷婷丁香无码专区| 五月婷婷亚洲| 五月综合亚洲| 婷婷射图| 色哟呦av| 9|无码久久久久久| 先锋av性爱成人电影| 夜夜躁爽日| 综合99久久天天综合| 99热思思| 91在线视频综合| 婷婷色色播五月天| 激情AV在线| 婷婷香蕉精品| av在线资源| 五月天俺去也| 六月激情婷婷| 久久久久99精品成人网站| 五月色情网| 另类图片色五月| 色情成人五月天| 丁香五月天在线视频| 天天干,天天日| 91精品久久久久久综合五月天| 69久久久| 婷婷六月婷婷| 亚洲操逼片| www.99操| 五月婷婷香蕉| 91久热| 婷婷丁香社区| site:feetmall.com| 久久久人妻| 9久国产| 久久A V无码视频| 欧美色五月| 另类专区在线| 五月天婷婷在线AN| 亚洲电影在线观看| 五月天无码| 九九热99熟女| 极品五月天| 五月天色官网| 五月天激情婷婷| 久久92| 日本丁香五月| 1024人妻无码中文字幕| 五月丁香拍拍激情综合| 婷婷五月天开心网| 超碰电影在线播放| 只有久久精品免费| 九九热在线99| 9热在线视频| 人人射av| 五月天婷婷无码视频| 专区无日本视频高清8| 91碰碰| 色情久久久| 久re热视频| 五月婷婷色吧!| 国产成人AV| 亚洲激情网站无码| 婷婷中文无码| 大香人妻| 五月婷婷六月丁香在线视频| 婷婷六月丁香五月图区| 亚洲美女婷婷五月天| 26UUU欧美| www久久99| 99久在线精品99re8热| 色婷婷第四色| 无码人妻一区二区三区四区| 免费看欧美成人A片无码| 少妇日麻屄| 五月丁香综合啪啪| 亚洲综合激情五月天婷婷 | 91黄址| 色色99| 综合激情五月四射婷婷| 婷婷五月天av| 插插五月天| 国产特黄色精品一区二区三区精品无广告| 黄网在线观看免费| 青青草青青草五月天| 激情无码五月天| 99精品综合视频| www久久艹| 免费亚洲婷婷| 久久综合影院| 996er热| 99视频自拍| 日本婷婷五月天| 色网站99| 亚洲妇女熟BBW| 丁香六月婷婷综合在线| 日韩国产在线精品| 丁香五月天欧美| 91久久久久| 亚洲综合五月| 精品亚洲国产成AV人片传媒| 大香蕉九操| 掩去也综合五月视频| 最近韩国日本免费高清观看| 五月丁香色五月| 婷婷五月五月丁香| 婷婷色色网| 久久婷婷五月综合网| 激情五月天偷拍综合网| AA久久| 婷婷伊人网| 婷婷天天综合| 欧美超碰亚洲| 综合激情在线| 日韩99视频| 拍真实国产伦偷精品| 只有久久精品免费| 另类图片五月激情| 九热...av| 丁香婷婷五月天亚洲| 婷婷99视频全集高清| 天天操婷婷| 97人人草| 能看的AV| 激情综合网五月天| 丁香啪啪| 爱爱网址9| 婷婷五月天天天| 九九热a| 丁香8月手机综合| 五月丁香影视| 99日在线视频| 超碰91在线| 激情小说五月欧美亚洲丁香| 欧美色色色色色色色色色色| 五月婷婷六月丁香| 这里只有精品在线看| 91九色无码日韩| 国产AV一区二区三区最新精品 | 久久久久久五月天|