欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

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综合色色色| 免费观看的婷婷五月视频在线| 久久综合激情| 五月天婷婷激情六月久久| 无码 色| 日本久久综合| 蜜乳人妻一区二区三区| 婷婷五月天国产传媒| 热99AV网站| 激情綜合W W W,激情五月天| BT综合在线视频观看| 精品一二三区久久AAA片| 婷婷五月色播放| 五月婷婷xxx| 综合激情五月天六月婷免费视频| 激情久久综合| 激情婷婷五月社区| 色婷婷五月天综合网| 五月涩涩网| 婷婷射图| 99婷婷色| 懂色av粉嫩av蜜臀av| 久久伦乱| 欧美影院| 综合在线色婷婷| 免费视频舔| 中文字幕不卡网站| 国产AV影片| 丁香九月激情| 婷婷月综合| 五月婷婷五月天亚洲无码| 成人AV免费观看| 伊人五月婷| 操一区| 99热只有精| 六月丁香啪| 91啦丨九色丨刺激中文| 亚洲九九99精品视频在线播放| 99re这里| 激情婷婷五月| 久久婷色| 大香蕉啪啪啪| 97精品人人A片免费看| 俺去也五月天婷婷| 日韩啪啪网| 97热在线精品| 九九热av| AV成人在线播放| 一级七香蕉| 久久九色| 五月综合久久| 大陆极品少妇内射AAAAAA| 五月丁香黄色视频| 天天干天天爽| 中文字幕欧美日韩VA免费视频| 天天干天天干天天干天天干天| 新激情五月天天在线网| 久综合| 操一操干一干| 久久婷婷五月综合啪| 五月天天爽| 99热这里只有精品一区| 六月婷婷开心| 婷婷色色播五月天| 深爱五月婷婷开心中文字幕| 玖玖激情网| 亚洲日韩一页精品发布| 99视频综合| 国产婷婷色综合AV蜜臀AV | 五月婷在线| 亚洲色五月| 国产成人网站在线观看| 中文字幕日产A片在线看| 五月丁香六月| 综合另类激情| 女同激情久久av久久| 色欲影香| 97在线精品| 激情六月综合| 国精产品一区一区三区免费视频| 色九九一二| 五月叮香啪| 97热精品| 丁香五月激情婷婷激情| 国产精品色色| 五月婷在线| 在线观看国产高清视频免费网站| www.九九婷婷| 噜噜色天天开心| 亚洲色五月天在线| 丁香六月激情国产| 99啪啪| 日本综合久久| 亲子乱av一区二区三区的| 991国产精选视频在线播放下载| 综合色图区| 亚洲欧洲色色| 囯产精品久久欠久久久久久九大| 五月天久久久| 玖玖色资源| 色香蕉影院| 色欲丁香久久| 婷婷综合亚洲| 精品一二三区久久AAA片| 久久婷婷五月丁香蜜桃网| 久草婷婷视频| 日本五月婷婷久久久六月丁香| 甈你aaaaa| 天天精品视频免费观看| 国外亚洲成AV人片在线观看| 香蕉久久国产av一区二区| 99视频精品| 婷婷激情五月天亚洲综合| 四色AVwww| 99热人人| 香蕉伊人综合| 激情五月www| 久9久9久9久9久9久9| 亚洲亚洲人成综合网络| av在线观看网站| 色97综合婷婷天天色| 五月天婷婷综合免费| www,天天干| 激情五月天.色网| 成人片在线播放| www激情网| 五月丁香在线| 殴美97色| 五月婷婷在线综合| www.夜夜| 好看的国产精品| jiujiu无码五区| 五月丁香龟婷婷| 九九色热| 天堂亚洲 在线| 婷婷激情五月综合基地| 五月激情偷拍| 精品99在线| 天天操天天爽天天爱| 丁香五月激情网| 免费观看18视频网站| 婷婷网影院| 久热a| 婷香五月激情视频| AV在线大香蕉| 色色色在线观看| 91狼友视频网页更新| 激情综合区| 激情丁香六月| 亚洲AV成人一区二区在线观看| 俺也去婷婷五月天第五色| 九九婷婷网五月天| 最新日韩AV中文字幕| AV天堂淫乩| 99热这里都是精品| 插逼综合网| 婷婷丁香人妻久久在线观看| 五月开心播播网| 99热综合| A久久| 综合久| 色色色色热| 亚洲精品无码A片一区二区| 无码一区二区日韩| 婷婷六月色| 色婷婷在线播放| 日日杆天天| 欧美久久九九| 日本三级大片| 色综合久久88色综合天天| 人人播| 成人网站av免费网站推荐| 亚洲一区二区无码蜜乳av| 亚洲天堂99| 丁香五月影院| 狠狠干无码| 亚洲AV成人精品日韩在线播放| 色五月播五月| 五月天婷婷基地综合网| 久操人妻| 亚洲九九夜夜| 成人无码精品1区2区3区免费看| 超碰人人操人人干| 免费亚洲婷婷| 久久这里只有精品网| 免费无码毛片一区二区A片 | 99在线69| 亚洲视99| 婷婷色五月91啪啪| 人人爽天天爽| 婷婷五月天Av| 99热这里只有精品8| 99亚色色色| 色99视频| 狠狠色综合网站| 亚洲av另类在线观看| 成人性爱无码| 色婷婷六月天| 国产肥白大熟妇BBBB视频| 欧美成人精品A片免费一区99| 丁香五月激情婷婷视频| 五月婷婷六月色| 久久免费精品小视频| 亚洲精品视频在线播放| 婷婷五月天va| 91精品综合久久久久久五月天| 丁香桃色网| 在线看黄色| 五月丁香激| AV在线大香蕉| 激情五月婷婷| 九九热re99re6在线精品| 67194成I人在线观看线路1| 色五月综合| 思恩热国产视频右线观看| 激情五月天网站| 干婷婷五月天| 五月婷婷婷| www.丁香五月| 五月婷婷网五月在线| 人人干人人操外国| 91狠狠综合久久| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 色五月婷婷丁香五月| 丁香综合久久| 成人国产欧美大片一区| 婷婷五月综合网| 丁香五月婷婷啪啪啪| 久久久97| 成人丁香五月天Av| 激情五月天之五月婷婷| 九九色区| 狠狠爱综合| 色小说五月婷婷| 久草婷| 久久婷婷亚洲| wwccc久久久| 日本丰满久久| 大香蕉九九| 亚洲看av的网站| 99久久新视频| 99免费超碰在线| 超碰国产AV| 日韩一级网站| tingtingcaobi| 婷婷久久99| 亚洲婷婷丁香五月亚洲| 99久久久久久| 色婷婷成人久久| 九九99精品视频在线观看| anquye五月| 97人人做| 激情五月丁香色色去久久| 色综合五月天| 棕合影院色色| 99性爱| 天天爱天天做综合| 久久丁香| 人人操碰| 中文字幕视频色婷婷| 精品激情| 婷婷激情人妻| 丁香六月婷婷综合| 五月婷婷,六月丁香| 激情综合青草| 久久五月丁香| 国产1区2区3区| 123日本不卡在线| 婷婷亚洲综合| 激情综合久久| 天天婷婷综合亚洲亚洲| 久久丁香五月| 色五月丁香婷婷久草| 婷婷五月天另类视频| 久热黄色| 日本丁香久在线| 万月丁香狠狠爱| 久久性爱视频| 九九在线精品| 玖玖资源站视频| 天天粽合合合合| www.henhenl| 1级欧美日韩| 丝袜大香蕉| 激情综合婷婷| 亚洲激情网| 成人免费高清在线播放| 色五月激情综合| 噜噜久| 五月夜丁香| 色五月xxx| 丁香五月激情婷婷| 日韩九九视频| 思恩热国产视频右线观看| 99热丁香五月| 伊人激情综合网| 夜夜爱爱亚洲| 久青操| 久热re在线视频| 91人妻九色大屁股| 超级97碰碰| 97超级碰| 成人短视频免费| 婷婷五月色情天| 91碰碰| www.丁香五月| 开心深爱五月天| 色色综合无码| 色99综合视频| 色综合色综合色综合色综合| 123草逼网| 国产精品国产| 婷婷五月成人| 婷婷的五月天另类视频| 丁香五月天电影| 五日激情综合| 欧美精品999| 亚洲激情av| 婷婷五月丁香基地| 嫩草AV久久伊人妇女超级A| 成人在线视频网| 黑人糟蹋人妻HD中文字幕 | 成人亚洲精品久久久久| 伊人天堂婷婷| 99无码超碰| 色色婷婷丁香| 亚洲另类婷婷五月综合| 丁香五月婷婷AV| 色五月丁香婷婷| 亚洲操逼网| 26UUU欧美| 五月天婷婷综合网| 激情涩播| 欧美色97| 色亚洲视频| 亚洲婷婷六月天| 免费观看欧美成人AA片爱我多深 | 五月丁香拍拍激情综合| 99国产小视频| 久久久久婷婷| 伊人丁香在线| 51XX午夜影福利| 丁香无五月网| 五月婷激情| 视频一二区| 另类图片五月天| 天天色天天操天天射| 久热在线观看视频9| 五月婷婷丁香大陆免费| 天天操天天操| 激情黄色小说色五月| 9久热| www.狠狠色.com| 久久五月天综合| 99啪啪| 婷婷丁香五月天综合AV| 久操大| 久久久久婷婷五月热综合| 99热最新网址| 五月天啪啪| 丁香五月狠狠在线观看| www.99热| 丁香婷婷深情五月亚洲| 五月天综合| 婷婷五月天性爱视频| 99热精品在线播放| 五月婷婷在线免费| 精品国产乱码久久久久久免费| 婷婷久久女人| 婷婷久久六月天| 色婷婷六月天| 色婷婷激情Av久久久| av在线激情| 99在线看片| 无套内射极品大美女| 激情小说五月天| 99久久高清视频| 深爱五月婷婷开心中文字幕| 天天干,夜夜爽| 这里只有精品免费| 超碰猛烈的性猛交| 色婷婷色婷婷五月| 久久久天堂国产精品女人| 久久精品婷婷| 天天操天天插| 婷婷五月天首页激情| 伊人五月婷婷| 97色碰| 亚洲中文乱字字幕在线永久| 色综合久| 婷婷在线免费| 色五月天丁香| 亚洲成人中心| 色婷婷五月天视频网站| 一本久久婷婷| 五月丁香 啪啪啪| 婷婷色五月丁香六月欧美啪| 日本不卡中文字幕| 婷婷欧美综合| 成人丁香色| 五月情色天| 99啪啪| 97碰啪啪| 区美毛片子| 丁香五月婷婷色情综合| 久久电影五月天丁香电影| 久久激情综合| 超碰精品在线| 天天摸.天天mo| 丁香婷婷网| 成人永久免费视频在线观看| www.狠狠| 人人性久久| 欧美色欲色欲天天天www| 色婷婷成人做爰A片免费看网站| 婷香五月| 思思热在线播放| 色婷婷五月在线| 丁香婷婷激情六月五月开心| 久色88| 九九热这里| 99精品丰满| 色色丁香激情五月| 色9999综合久久| 丁香五月天啪啪激情综和网| a毛片二逼wwwwwwwwww| 99热超碰人| 激情五月丁香在线观看直播| 9 7总站超级碰免费视频| 婷婷五月丁香成人| 任我干视频在线观看| 怡红院精品视频久久久久久久久| 中文字幕免费高清电视剧| 深爱五月天婷综合| 雪千夏麻豆| 久久五月综合| 日本99在线| 这里只有精品视频| 久久五月网| 五月丁香五月综合欧美| 97久久香草精品视频| 成人无码髙潮喷水A片| 五月丁香六月婷婷不卡免费无码| 天天日色情| 天天日天天干天天天| 丁香六月婷婷社区| 深夜男女福利刺激影院一区完整| 五月丁香婷婷综合在线| 婷婷丁香九色| 五月天婷婷久久视频| 五月婷婷|欧美| 亚洲中文字幕AV| 欧美噜噜久久久XXX| 亚洲V国产V欧美V久久久久久| 天天干天天操天天干天天操天天干天天操| 991自拍视频| 思思热这里只有精品| 超碰色色综合| 国产SUV精品一区二区883| 色色色色色爱| 91热在线| 99re思思热久久| 夜夜资源站| 激情第四色| 五月婷婷精品视频| 99久超碰| 激情开心五月亚洲| 第四色网婷婷| 99精品久久| 99re这里只有精品视频了| 丁香久久综合| www.99热国产| 91偷拍视频| 五月天婷婷色播| 五月婷综合激情| 99热免| 9999色色色色| 97综合在线| 日韩AV在线影片| 天天插天天日| 第四色婷婷色五月| 婷婷天堂综合| 亚洲国产黄色电影| 狠狠色综合网| 天天搞天天色综合| 精品少妇蜜臀91| 亚洲AV综合网| 九九Y精品热播| 五月丁香综合| 丁香五月亚综合图片| 激情五月天婷婷图| 丁香婷婷婷五月综合色情| 色综合久| 啪啪婷婷五月天激情| 激情亚洲色图片丁香综合| 婷婷五月激情五月丁香五月| 人妻丰满精品一区二区A片| 午夜婷婷久久| 五月宗合激情网| 金桔一区二区ab地址| 操b视频在线观看一区二区| 久艹大香蕉| 呦呦视频无码播放| 另类的婷婷| www,com,五月色色| 成人精品免费在线观看| 少妇被下春药玩弄A片| 国产精品日日躁夜夜躁| 停停五月色宗合| 狠狠干综合| 999婷婷综合| 99er精品视频| 色婷婷五月亚洲| 97色色色色色色色| 五月丁香色色| 偷拍91九色| 真实熟女-91九色| 国产69久久久欧美黑人A片| 99人妻碰碰碰久久久久禁片| 少妇搡BBBB搡BBB搡毛茸茸 | 丁香六月成人| 十月丁香九月婷婷综合| 久久99久久99精品免观看软件 | 五月天社区婷婷丁香社区| 久久99大| 久久人妻超碰一区| 天天舔天天爽| 开心婷婷五月| 久久这里只有精品8| 五月天婷综合| 伊人婷婷色| 婷婷丁香十月| 五月婷婷综合丁香视频| 99热官网| 五月激情天| 婷婷性爱五月天| 婷婷六月五月天综合| 人妻 性久久久久久| 五月天久久婷婷婷| 西瓜美女a片| 九九热色视频| 激情六月丁香综合| 狠狠色官网| 热久久思思热思思| 五月天婷婷爱丁香中文字幕| 日日干日日s| 婷婷色天香| 情情五月天色| 五月丁香六月欧美| 99热99re6国产在线播放| 日韩AC在线免费观看| 五月综合视频| 国产午夜精品AV一区二区麻豆 | 天天色天天射天天日| 婷婷玖玖五月天| 在线看黄色| 中文字幕激情综合| 色五月婷婷av| 夜夜躁狠狠 | 亚洲乱码日产精品BD| 精品香蕉99久久久久网站| 中文字幕黄色片| 丁香五月Av| 免费精品99| 色999五月色| 日日干天天爽| 国产露脸150部国语对白| 国产一区二区av免费| 激情婷婷五月丁香啪啪啪| 九九热视频在线观看| 熟女人妻一区二区三区免费看| 影音先锋美国A| 久久ri精品视频| 香蕉网久久| 7777激情基地| 婷婷五月天亚洲色| 激情五月婷婷中文字幕| 丁香五月成人社区| www.婷婷五月| 亚洲成人AV电影在线| www久久久久久久| 日韩欧美一道四区中文字幕| 亚洲精品网站色视频| 激情黄色五月天| 小视频久久久aaa| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | a69在线视频| 婷婷亚洲在线| 久99视频在线观看| 综合色播| 婷婷五月丁香性爱| 欧美日韩aaa| 九九99久久精品| 五月天堂色色| 99热永久在线观看| 六月丁香VA| 99精品在线播放| 九九色婷| 妇激情基地| 五月亭亭综合五码| 狠狠操狠狠爱| 色五月美女| 欧美精品A片一区在线观看| 色色综合色视频| 日韩色色视频www| 91九色精品女同系列| 成人国产欧美大片一区| 182TV亚洲| 九月丁香| 婷婷色五月色| 亚洲视频一区| 1囯产午夜仑鲁鲁| 婷婷第六色| 第五色婷婷| 婷婷五月天激情网| 五月丁香啪啪综合网| 米奇影视资源777狠狠色婷婷五月天激情网 | 亚洲VA欧美VA| 97性视频| 狠狠爱丁香婷| 精品九九在线观看| www.婷婷六月天| 91碰免费视频| 激情丁香淫荡婷婷| 久久色婷婷| 9久热在线视频| 五月天激情综合网站| 99热国产免费| 蜜臀av 粉嫩av 懂色av | 国产人妻人伦精品一区二区| 久久久久亚洲AV成人无码电影| 久热这里只有精品66| 欧美精品99久久久| 9精品视频在线观看| 久久久婷丁香五月| 午夜爱爱网站| 五月激情综合性爱| 亚洲狠狠色丁香婷婷综合久久| 精品网站:999WWW| 狠狠插狠狠| 99色在线| 五月丁香六月婷婷综合在线| 97碰| 色娸娸综合网| 亚洲va欧美va天堂v国产综合| 国内一级片| 99久久国产成人精品| 欧美五月婷婷| 1024婷婷综合久久五月天| 天天色综合色| 天天干天天干天天| 婷婷五月天改成什么了| 91九色网| 人妻熟妇国产精品| 久热大香蕉| 亚洲天99| 伊人五月婷婷| www.五月天色色色| 日日干日日| 婷婷六月天| 丁香激情婷婷网| 久久人人做人人妻人人玩精品va| 丁香五月婷婷色五月| 亚洲欧美婷婷五月色综合| 91性高潮久久久久久久久| 激情久久丁香| 伊人婷婷大香蕉| 五月婷婷久久大香蕉| 国产午夜精品一区二区| 九九无码| 99色网站| 色五月丁香婷婷| 天天艹天天综合网| 五月婷婷啪啪| 六月丁香婷婷色69| 婷婷五月丁香国产| 精品五月天| 日本在线wwww| 丁香六月婷婷| 日本啪啪网| 九九色色| 第2色五月婷| 极品少妇高潮啪啪AV无码| 五月丁香五月激情综合色综合| 乱精品一区字幕二区| xxx综合在线| 婷婷五月天 丁香五月天 裸体| 九九热视频思思| 99久久天堂婷婷| 丁香婷婷激情六月五月开心| 久久性爱99国产| 综合色吧| 亚洲啪啪啪啪| 亚洲欧美在线观看| 色狠狠图片| 另类婷婷五月天啪帕帕| 五月婷婷亚洲| 日韩欧美颜射| 国产又黄又爽又色的免费| 色婷婷影音| 操婷婷久久| 91色噜噜狠狠狠狠色综合| 99成人网一区| 5月丁香美女影院| 婷婷五月综合网| 中美日韩成人在线| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 五月天色婷婷网| 99操无码视频观看| 亚洲精品久久久久久久久久吃药| 激情五月丁香综合网站 | 婷婷五月天亚洲色| 亚洲国产网址| 色婷婷五月天偷拍| 九九精品在线网| 色婷另类| 男女啪啪做爰高潮无遮挡| 欧美婷婷综合| 蜜臀A∨在线水帘洞| 婷婷五月另类网站| 色综合激情| 天天色天天色天天色天天色天天色| 9精品视频在线| 香蕉久久国产AV一区二区| av五月天婷婷丁香| 99精品热| 极品少妇婷婷五月| a久久| 丁香五月开心五月激情| 久久这里精彩免费在线观看| 丁香五月婷婷综合激情啪啪啪| 色情五月丁香| 五月情婷婷| 高清无码.com| 99久久新视频| 午夜不卡久久精品无码免费| 91黄址| 中文网av| 狠狠色五月激情| 婷婷丁香社区| 无码视频国内精品久久久| 色99在线视频| 日日夜夜久| 狠狠五月丁香色婷| 丁香五月六月综合激情| 综合久久狠狠| 99欧美| 天天弄天天操| 婷婷五月综合啪| 激情床戏| 九九九九九九九九九九九九九九九九九九九在线视频 | site:pnnrt.com| 色五月丁香婷婷久草| 婷婷五月天伦理| 久久色婷婷| 亚洲成人无码免费| 久久婷婷五月丁香蜜桃网| 99视频| 九九99九九99九九99视频网| 思思热精品在线观看| 色婷婷在线视频久| 丁香五月色情| 色婷婷88| 伊人三级激情| 92久久久| 97超碰,人人舔,人人操,人人摸| 岛国AV网| 五月丁香999| 五月丁香在线婷婷美女| 丁香伊人综合| va中文资源在线观看| 久久xxxx| www.97碰碰com| 99热超| 日韩AV免费| 久久伊人大香蕉| www99热| 五月婷婷狠狠干| 激情九色| 国产精品爽爽久久久久久| 天天草天天摸| 影音先锋777xfplay色资源网站| 好好干av| 99色播| 激情五月网站| 色狠狠六月| 激情的五月| 情欲综合网| 91狠狠色丁香婷婷综合久久| 婷婷色丁香五月| 成人av在线电影| 丁香婷婷九月| 日韩亚洲视频| 久久婷婷五月天| 色五月婷婷婷婷婷婷婷婷婷婷| 操一区| ww亚洲ww在线观看| 开心五月激情| 69五月天视频| 色婷婷丁香六月| 99热99热在线观看| 天天婷婷天天| 激情综合另类| 五月婷婷影视| 五月色丁香视频精品| 五月婷婷中文| 99久久久久久www| 五月天天天色| 日本九九视频| 日韩AV大全| 玖玖综合色| 九九热精品| 女人高潮内射99精品| 超喷97免费在线视频| 91久久网站| 月色色综合婷婷网| 婷婷五月综合社区| 97干视频| 丁香五月色播中文在线播放| www,五月丁,com| 激情丁香六月| 色色丁香五月天| 99久久综合网| yirenjiqingshiping| 99操九九网| 超碰网站在线观看| 成人电影一区| 99热这里有精品24| 激情五月天 婷婷| 大婷婷色呦呦噜噜色呦呦噜噜| 五月丁香精品| 五月激情综合网| 亚洲电影中文字幕| 在线成人网址| 97色五月天| 成人五月天视频| 啪啪91| 超喷97免费在线视频| 九九九九中文字幕| 永久思思热在线| 五月婷婷综合久久| 日日日日日| 丁香香蕉婷婷| www.狠狠狠狠| 久久五月天色婷婷| 伊人高清无码| 伊人婷婷五月天| 五月情色天| 成人av免费观看| 热久69| 激情精品久久| 成人色五婷婷| 婷婷五月天色色| 超碰京东热av男人的天堂| 日逼影音先锋AV男人资源站| 婷婷久草| 99在线精品视频在线观看| 九九热在线99| 日本A片一区| 噜噜噜噜婷婷五月天| 天天色激情| 99精彩视频| 人妻五月天激情开心网| 99热无码精品| 五月婷婷综合潮喷| 六月婷婷色| 玖色色综合| 五月亚洲激情| 色五月偷偷| 丁香五月天激情综合| 人操人人| 天天干天天操天天爱| 91Chinese在线| 99热亚州综合| 婷婷五月天色综合翘| 99免费视频| 操B无码视频国语| www,8050,午夜三级| 久狠狠狠| 色色色色色色综合网| 色综合99| 九九综合色综合| 丁香六月综合| 日日爱678| 婷婷色激情五月天| 五月婷婷综合在线| 久婷五月| 超碰国产AV| 中文婷婷狠狠| 色婷婷综合网| www.99婷婷| 天天肏屄夜夜爽| 思思99精品视频在线观看| 精品国产va久| 4399精品一区二区| 成人精品一区二区三区四区五区| 无码人妻激情| WWW免费视频碰碰碰碰| 婷婷五月天亚洲| 九九热内射| www.夜夜.com| 丁香花综合永久入口| 五月婷婷色情| 五月四色激情| 这里只有精品视频一区| 影音 五月 婷婷 久久| 九九热99精品| 97爱艹婷婷开心丁香激情综合| 五月丁香激情婷婷综合字幕| www.色五月| 色爱综合视频| 嫩草AV久久伊人妇女超级A| 99热精品少| 亚洲精品V天堂中文字幕| 亚洲精品五十一区| 日本欧美成人片AAAA| 天天草天天舔| 九九综合九| 婷婷射图五月天| 激情综合九| 激情综合激情五月一起草| 色五月婷婷91在线| 中文av网| www.97碰碰com| 亚洲精品电影| 久久精品爱爱| 在线理论片| 精久久色| 亚洲免费在线观看岛国| 五月丁香六月激情在线| 久久九九@| 婷婷亚洲色| 久久五月天激情婷婷| 天堂成人A片永久免费网站| 天天射影视综合网| 成人无码中文| 国产白丝在线一区| 婷婷五月色播网| 亚洲乱码日产精品BD| 国产精品久久7777777精品无码| 91干在线视频| 亚洲美女高潮久久久久久69| 九九热在线观看6| 欧美性色A片免费免费观看的| 99热视精品| 九伊人网| 天天舔天天爽| 激情 婷婷 丁香五月天| 欧美激情伊人| 激情www| 伊人六月无码视频| 欧美精品狠狠色丁香婷婷| 超碰99资源站| 玖玖伦理电影| 国产综合A片| 丁香激情网| 五月亚洲激情| 97AV人人插人人操| 91久久婷婷| 怡红院院久久| 日韩高清久久| 六月丁香五月婷婷| 天天日,天天干,天天操| 国产一级片| 天堂久久久久天堂网| 久久精品系列| 欧美婷婷五月激情| 97人妻碰碰碰久久| 99九九久久| 夜夜干天天干| 亚洲精品乱码久久久久久按摩观| 9热成人在线视频| 激情婷婷五月| 丁香五月冃欧美| 婷婷欧美综合| 亚洲激情四射色| 成人一级片| 久久精品永久免费| 丁香花五月天激情| 婷婷丁香五月天综合在线日韩| www.91在线观看| 这里只有精品99www| 26uuu丁香婷婷五月| 精品影院| 91一起艹| 久久婷婷五月综合伊人| 丁香婷婷六月婷婷六月婷婷六月婷婷| 真实熟女-91九色| 97五月天| 五月天激情啪啪| 天天日人人爽| 欧美日综合| 色色五月丁香婷婷综合| 久草热久草在线视频| 超碰在线9| 久草xx性爱视频| 色八月婷婷| 久久婷婷丁香视频网| 日韩一级一片内射视频4K| 色吧五月| 久久综合五月天| 色六月天| 日韩免费乱轮网站| 99久久www| 五月丁香在线观看国产| 亚洲操人| 丁香五月综合激情啪啪| 婷婷丁香五月亚洲综合网在线视频观看| 91蜜桃婷婷狠狠久久综合9色| 玖色色综合| 日韩黄在免| 九九RE视频在线精品| 99热大香蕉| 99热思思| 操日挥操日日| www,婷婷五月天777me,com| 91操操| 啪啪99| 大香AV| 五月色情婷婷| 热日韩欧美| 久久在线视频免费观看| 五月天婷婷激情在线色图| 成人综合视频在线| 日日色综合| 操操操AV| 九色色| 一级A片天天操夜夜操| 一根材五月婷成人| 天天操天天日天天爱| 翔田千里 50岁 无码| 婷婷综合在线播放| 久久综合五月| 久久综合五月婷婷| www.com在线操视频免费观看| 精品成人在线| 无码少妇高潮喷水A片免费| 亚洲五月婷| 日本丁香五月| 婷婷色五月天在线观看| 色婷视频| 亚洲色久| 久久香蕉网| 亚洲热热视频| 婷婷五月天小说网| 狠狠草狠狠草| 天天日天天摸| 日本三级日本三级99| 六月丁香五月婷婷| 国产这里只有精品| 色婷婷基地| 色婷婷影院| 成人免费120分钟啪啪| 色狠狠色噜噜AV天堂五区| 99无码| 欧洲电影在线观看免费版英语版| 疯狂做受XXXX高潮A片| 97精品人人A片免费看| 国产欧美熟妇另类久久久| AA片在线观看视频在线播放| 久久精品一区二区三区四区| 伊人无码高清| 中国无码av| yirenjiqingshiping| 久久爱综合| 五月婷婷色啪| 中美日韩成人在线| 狠狠舔| 天天干狠狠操| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 超碰人人摸人人操| 日本熟女啪啪| 一级二级色大片| 五月婷婷av| 天天色综合色色色色色。| 激情综合五月.....| 丁香婷婷在线| 涩婷婷五月天在线精品视频| 99久在线视频| 在线播放成人网站| 国产AV影片| 婷婷性爱综合| 啪啪一区| 午夜青草资源| 天天干天天干天天干天天干天| 五月婷婷丁香五月 | 亚洲AV影片在线观看| 1024在线观看免费视频| 色婷婷88| 婷婷五月天在线观看av| 国产精品久久久久久五月天加勒比| 99亚州综合精品成人网| 九九激情综合| 亚洲精品V天堂中文字幕| 99热伊人综合| 色五月激情| 久久er+| 亚洲成人五月| 国产激情综合五月久久| 天天射网站| 久久婷婷五月天激情| 99这里有精品视频3| 婷婷五月丁香综合人妻| 久久 婷婷 五月天| 99re6在线视频精品免费| 欧美碰碰碰| 婷婷五月丁香综合亚洲 | 日本97在线观看| 99久久久免费| 色色网站免费观看| 婷婷操久久| 老妇六区| 五月天操逼网| 伊人婷婷色激情丁香| www.jiujiujiu| 日欧一片内射VA在线影院| 丁香六月激情综合| 日本操B视频在线观看| 丁香六月婷婷综合欧美| 五月色欧洲| 狼人狠狠操| 色婷婷五月天av在线| 五月丁香啪啪啪啪| 玖玖资源天天无码| 色婷婷婷婷| 狠干综合| 婷婷五月天激情在线观看| 播五月,色五月,开心五月播放器| 五月综合视频| 99在线视频资源| www开心激情网| 深爱五月激情| 熟美女麻豆| 婷婷五月色影视先锋| 久久九区| 国产亚洲99久久精品熟女| 九九热这里精品| 五月天婷婷爱| 淫视馆av三区| 天天看片日日夜夜| 久久婷狠狠色| 26uuu成人网| 少妇日麻屄| 久久性操| 99久热在线精品99re6热| 久久国产精品乱子伦_靑青草…| 99玖玖在线视频| 97成人丁香| 五月婷婷少妇之| 五月天久久久| 婷婷五月丁香色综合| 婷婷五月天第四色| 五月丁香网站| 我爱大香蕉| 夜夜躁婷婷AV| 变天就操逼婷婷五月| 色色色.com| 婷婷五月天成人网| 热九九精品| 五月天丁香久久| 婷婷五月丁香人妻无码高清| 久久草婷婷丁香网站| 日本三级日本三级99| 五月丁香免费视频| 夜色综合网| 91精品综合久久久五月天| 狠狠色 综合色区| 国产熟妇的荡欲午夜视频| 亭亭玉立国色天香| 91丨九色丨高潮丰满日本| 久久成人人妻| 色婷婷五月天av在线| 精品无码av丁香五月激情| 九九色逼| 97久久人人| 九热免费视频| 97色啪| 激情五月丁香亭亭| 91精品久| 久色资源网| 色婷婷中文| 丁香五月天五码婷婷| 五月婷婷六月激情| 丁香五月 综合| 激情综合啪啪啪| 五月亭亭开心网| 激情AV中文| 天天狠狠夜夜狠狠2023| 99ri视频在线观看| 久草五月天| 色爱综合五月| 五月婷婷色五月| caopeng97人人| 99综合网| 亚洲成人超碰| 日韩狠狠色| 久久五月激情| 亚洲激情综合| 久久99热只有精品| 激情五月综合| www.sd-xiangsu.cpm| 亚洲亚洲人成综合网络| 婷婷5月天av| 亚洲色图日韩网址| 精品夜夜澡人妻无码AV| 超级碰碰碰碰视频| 黄色一级影片| 久久多色| 婷婷五月天在线观看| 综合激情五月丁香9999久久精| 久久99热这里只频精品6学生| 久久综合热17c| 久久人妻少妇嫩草AV| www.lingjunshare.com| 一区=区操屄高清大全av| 特级西西4444www无码| 一本色道久久88加勒比—| 亚洲视频五区| 色色色777| 五月天色小说| 99热这里只有精品免费观看| 久操干| 久久怕怕视频| yazhouzonghesese| 视频一区二区在线| 色五月成人| 九九色热| 久久小说网| www.五月瑟| 婷婷色色丁香五月天| 色99网| 99热在线中文字幕| 激情婷婷黄色五月| 亚洲第一黄网| 六月婷婷色五月| 97自拍视频网| 九九精品自拍| 精品婷婷五月视| 丁香五月天社区婷婷| 婷婷丁香亚洲色综合91| 蜜桃婷婷五月| 狠狠色综合图片| 一起草无码| 丁香婷婷丁香五月欧美人| 啪啪视频99| 婷婷天堂站| 久久这里都是精品视频| 综合激情sV| 六月婷婷色| 亚洲精品国产精品乱码不99| 色久影院| 亚洲情综合五月天| 色欲午夜无码久久久久久张津瑜 | 欧洲MV日韩MV国产| 爱草人视频| 丁香五月综合激情久久潮喷| 婷婷五月天渟渟| 久久久五月天| 婷婷五月综合视频| 五月婷婷五月天| 婷婷五月丁香基| 欧美色宗和激情| 思思精品久久艹| 色丁香婷婷| 中文字幕丰满乱孑伦无码专区 | 久久成人人妻|