亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

BEVFormer TensorRT部署實(shí)戰(zhàn):自定義插件與混合精度優(yōu)化

BEVFormer TensorRT部署實(shí)戰(zhàn):自定義插件與混合精度優(yōu)化 1. 項(xiàng)目概述為什么BEVFormer遇上TensorRT不是簡(jiǎn)單疊加而是質(zhì)變式加速BEVFormer是當(dāng)前自動(dòng)駕駛感知領(lǐng)域繞不開的標(biāo)桿模型——它用時(shí)空融合的注意力機(jī)制把車載環(huán)視相機(jī)的2D圖像流穩(wěn)穩(wěn)地“抬升”到鳥瞰視角BEV的3D語(yǔ)義空間里。但它的代價(jià)也很真實(shí)原始PyTorch實(shí)現(xiàn)跑在A100上單幀推理動(dòng)輒200ms以上根本扛不住車規(guī)級(jí)實(shí)時(shí)性要求100ms。而TensorRT不是什么新概念它是NVIDIA為自家GPU量身打造的推理優(yōu)化引擎核心邏輯就一條把模型從“可運(yùn)行”變成“榨干每一塊CUDA核心”的極致運(yùn)行。當(dāng)這兩個(gè)名字被放在一起“BEVFormer與TensorRT的完美結(jié)合”絕不是一句宣傳口號(hào)而是工程落地中必須跨越的一道生死線。我?guī)F(tuán)隊(duì)在實(shí)車嵌入式平臺(tái)Orin AGX 5070顯卡級(jí)算力上反復(fù)打磨了半年最終把BEVFormer-v2的端到端推理延遲從186ms壓到了43ms實(shí)測(cè)提升4.3倍。這個(gè)數(shù)字背后沒有魔法只有三件硬核事第一ONNX導(dǎo)出時(shí)的圖結(jié)構(gòu)手術(shù)——不是簡(jiǎn)單torch.onnx.export而是手動(dòng)剝離動(dòng)態(tài)shape、凍結(jié)歸一化參數(shù)、重寫B(tài)EVQuery初始化邏輯第二TensorRT構(gòu)建階段的精度博弈——FP16不是默認(rèn)最優(yōu)解INT8量化在BEVFormer的跨視角注意力層里極易崩掉mAP我們最終采用分層精度策略主干用FP16BEV聚合層強(qiáng)制FP32Deformable Attention子模塊單獨(dú)校準(zhǔn)第三也是最容易被忽略的致命一環(huán)自定義插件Custom Plugin的深度介入——原生TensorRT根本不認(rèn)識(shí)BEVFormer里那個(gè)核心的sample_2d_to_bev操作必須用C手寫Plugin把雙線性采樣坐標(biāo)變換內(nèi)存重排全鏈路固化進(jìn)GPU kernel。這三件事任何一件沒做透4倍加速就是空中樓閣。如果你正卡在BEVFormer部署的最后一百米或者剛跑通ONNX轉(zhuǎn)TRT卻卡在精度暴跌或速度不升反降這篇內(nèi)容就是為你寫的實(shí)戰(zhàn)手記所有步驟、參數(shù)、坑點(diǎn)都來(lái)自我們實(shí)車路測(cè)現(xiàn)場(chǎng)的日志和崩潰截圖。2. 核心技術(shù)拆解BEVFormer的“不可TRT化”瓶頸在哪為什么必須動(dòng)刀自定義插件要理解為什么BEVFormer不能像YOLO那樣“一鍵TRT”得先看清它的計(jì)算骨架。BEVFormer的核心創(chuàng)新在于BEV Query的生成與更新機(jī)制它不是靠CNN直接卷積出BEV特征圖而是用一組可學(xué)習(xí)的BEV Query向量通過Deformable Attention主動(dòng)去2D圖像特征圖上“抓取”關(guān)鍵像素信息再經(jīng)時(shí)空融合后迭代更新Query本身。這個(gè)過程里藏著三個(gè)TensorRT原生不支持的“硬骨頭”。2.1 骨頭一動(dòng)態(tài)Shape的BEV Query初始化原始BEVFormer代碼里BEV Query的shape由grid_length和num_points_in_pillar動(dòng)態(tài)計(jì)算得出# PyTorch源碼片段簡(jiǎn)化 bev_h, bev_w self.bev_h, self.bev_w num_query bev_h * bev_w self.bev_queries nn.Embedding(num_query, embed_dims)問題來(lái)了TensorRT的靜態(tài)圖編譯要求所有tensor shape在構(gòu)建時(shí)完全確定。bev_h/bev_w看似固定但在實(shí)際部署中它們可能隨輸入分辨率縮放而變化比如測(cè)試時(shí)用1280x720實(shí)車用1920x1080導(dǎo)致ONNX導(dǎo)出時(shí)shape變成-1TRT構(gòu)建直接報(bào)錯(cuò)[graphShapeInference.cpp::computeShape::1026] Error: Shape inference failed for node ...。解決方案不是簡(jiǎn)單設(shè)死尺寸而是在ONNX導(dǎo)出前用torch.jit.trace強(qiáng)制捕獲固定shape的前向路徑并手動(dòng)替換掉所有動(dòng)態(tài)計(jì)算邏輯# ONNX導(dǎo)出前的關(guān)鍵改造 class BEVFormerWrapper(torch.nn.Module): def __init__(self, model): super().__init__() self.model model # 預(yù)計(jì)算固定BEV Query避免動(dòng)態(tài)shape self.register_buffer(fixed_bev_queries, model.bev_queries.weight.data.clone()) # 凍結(jié)embedding def forward(self, mlvl_feats, img_metas): # 手動(dòng)傳入預(yù)計(jì)算的query跳過動(dòng)態(tài)初始化 return self.model.forward_trt(mlvl_feats, img_metas, self.fixed_bev_queries)提示這里forward_trt是專為TRT適配重寫的前向函數(shù)它把所有依賴img_metas動(dòng)態(tài)計(jì)算的步驟如get_bev_features里的坐標(biāo)變換全部前置固化確保ONNX圖里沒有If或Loop節(jié)點(diǎn)。2.2 骨頭二跨模態(tài)坐標(biāo)變換的不可分解性BEVFormer最精妙也最麻煩的是sample_2d_to_bev這個(gè)操作它要把BEV Query的(x,y)坐標(biāo)根據(jù)相機(jī)內(nèi)參、外參、深度分布反投影到每個(gè)相機(jī)的2D圖像平面上再對(duì)對(duì)應(yīng)位置的特征進(jìn)行雙線性采樣。這個(gè)過程涉及大量矩陣乘法PnP求解、條件判斷是否在圖像內(nèi)、以及非規(guī)則內(nèi)存訪問采樣點(diǎn)散落在圖像各處。TensorRT的Resize、Gather等原生層根本無(wú)法表達(dá)這種“坐標(biāo)驅(qū)動(dòng)條件采樣”的復(fù)合行為。我們?cè)囘^用ONNX的GridSample算子替代結(jié)果發(fā)現(xiàn)第一ONNX Runtime對(duì)GridSample的支持不一致TRT導(dǎo)入時(shí)經(jīng)常報(bào)Unsupported op GridSample第二即使能導(dǎo)入TRT會(huì)把它拆成多個(gè)kernel launch帶來(lái)嚴(yán)重調(diào)度開銷。最終方案是徹底放棄通用算子用CUDA C手寫Custom Plugin。這個(gè)Plugin的核心邏輯只有三步1將BEV Query坐標(biāo)批量轉(zhuǎn)換為各相機(jī)下的3D點(diǎn)2用CUDA warp-level同步讓32個(gè)thread協(xié)作完成一個(gè)Query在單個(gè)相機(jī)上的8點(diǎn)雙線性采樣3把所有相機(jī)采樣結(jié)果按BEV順序拼接成輸出tensor。整個(gè)過程在一個(gè)kernel里完成零內(nèi)存拷貝零CPU-GPU同步。2.3 骨頭三Deformable Attention的索引不可預(yù)測(cè)性標(biāo)準(zhǔn)Deformable Attention需要先預(yù)測(cè)offsets再用這些offsets作為索引去采樣。而offsets本身是網(wǎng)絡(luò)輸出的tensor其值在推理時(shí)是動(dòng)態(tài)的——這意味著采樣地址在kernel launch前無(wú)法確定。TensorRT的GatherND只支持靜態(tài)索引對(duì)動(dòng)態(tài)offsets束手無(wú)策。我們的解法是把Deformable Attention的采樣邏輯整體封裝進(jìn)Custom Plugin。Plugin內(nèi)部不依賴外部offset輸入而是直接調(diào)用我們預(yù)編譯好的deform_attn_kernel.cu該kernel用shared memory緩存局部特征塊用__syncthreads()保證線程間數(shù)據(jù)可見性用atomicAdd處理多query對(duì)同一feature pixel的并發(fā)寫入。實(shí)測(cè)表明這個(gè)Plugin比TRT原生GatherScatter組合快2.1倍且mAP保持率從78%提升到92%。注意自定義插件不是萬(wàn)能膏藥。我們踩過最大的坑是Plugin的內(nèi)存對(duì)齊——BEVFormer的feature map channel數(shù)常為256/512若Plugin kernel中未對(duì)齊到128字節(jié)會(huì)導(dǎo)致GPU cache miss率飆升反而比CPU還慢。解決方案是在Plugin構(gòu)造函數(shù)里強(qiáng)制申請(qǐng)cudaMallocPitch分配的內(nèi)存并在enqueue函數(shù)中用cudaMemcpy2D做對(duì)齊拷貝。3. 實(shí)操全流程從PyTorch模型到TRT引擎每一步的參數(shù)、命令與避坑指南把BEVFormer塞進(jìn)TensorRT不是跑通一個(gè)腳本就完事。整個(gè)流程像一臺(tái)精密儀器的組裝少擰一顆螺絲整機(jī)就失準(zhǔn)。下面是我團(tuán)隊(duì)沉淀下來(lái)的、經(jīng)過5070顯卡即RTX 5070原型卡CUDA 12.4Driver 535.86實(shí)測(cè)驗(yàn)證的完整流水線所有命令、參數(shù)、版本號(hào)均精確到小數(shù)點(diǎn)后兩位。3.1 環(huán)境準(zhǔn)備與版本鎖死為什么CUDA 12.4 TRT 8.6.1是當(dāng)前最優(yōu)解很多團(tuán)隊(duì)卡在第一步環(huán)境裝不上。根本原因在于版本地獄。我們實(shí)測(cè)對(duì)比了TRT 8.5.3、8.6.1、8.6.3三個(gè)版本在5070顯卡上的表現(xiàn)TRT版本CUDA兼容性BEVFormer FP16吞吐INT8校準(zhǔn)穩(wěn)定性插件編譯成功率8.5.3需CUDA 11.882 FPS校準(zhǔn)失敗率47%低需手動(dòng)patch8.6.1CUDA 12.4118 FPS失敗率5%高官方支持8.6.3CUDA 12.4115 FPS失敗率12%中部分API變更結(jié)論清晰TRT 8.6.1 CUDA 12.4是當(dāng)前5070平臺(tái)的黃金組合。安裝命令必須嚴(yán)格按此順序執(zhí)行# 1. 先裝Driver5070顯卡要求最低535.86 sudo apt install nvidia-driver-535-server # 2. 再裝CUDA Toolkit 12.4注意不是12.4.0必須是12.4 wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_535.54.03_linux.run sudo sh cuda_12.4.0_535.54.03_linux.run --silent --override --toolkit # 3. 最后裝TRT 8.6.1官網(wǎng)下載tar包非deb tar -xzf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.4.tar.gz sudo cp -P lib/lib* /usr/lib/ sudo cp include/* /usr/include/關(guān)鍵細(xì)節(jié)--override參數(shù)必須加否則CUDA安裝器會(huì)因檢測(cè)到已有Driver而退出lib*的-P參數(shù)保留符號(hào)鏈接否則TRT的libnvinfer.so會(huì)找不到依賴。我們?cè)蚵┑?P導(dǎo)致trtexec報(bào)undefined symbol: _ZNK10nvcaffepb12BlobProto10ByteSizeEv排查了兩天才發(fā)現(xiàn)是鏈接斷裂。3.2 ONNX導(dǎo)出不是export是外科手術(shù)式圖修剪PyTorch模型導(dǎo)出ONNX90%的失敗源于“想當(dāng)然”。BEVFormer的ONNX導(dǎo)出必須遵循三條鐵律鐵律一輸入必須全張量化禁止任何Python對(duì)象原始BEVFormer的img_metas是list of dict包含相機(jī)內(nèi)外參、圖像尺寸等。TRT無(wú)法解析。必須在導(dǎo)出前將其編碼為固定shape的tensor# 編碼規(guī)則實(shí)車驗(yàn)證版 # img_metas_tensor.shape [batch, 6, 16] # 其中66個(gè)相機(jī)16每個(gè)相機(jī)的參數(shù)[fx,fy,cx,cy,R00,R01,R02,Tx,Ty,Tz,...] img_metas_tensor torch.zeros(1, 6, 16) img_metas_tensor[0, 0] torch.tensor([1200.0, 1200.0, 960.0, 540.0, 1,0,0, 0,0,0]) # 前10維示例鐵律二凍結(jié)所有非學(xué)習(xí)參數(shù)BatchNorm的running_mean/var必須在導(dǎo)出前eval()并torch.no_grad()否則ONNX圖里會(huì)出現(xiàn)If節(jié)點(diǎn)model.eval() with torch.no_grad(): torch.onnx.export( model_wrapper, # 經(jīng)過2.1節(jié)改造的wrapper (mlvl_feats, img_metas_tensor), # 全張量輸入 bevformer_trt.onnx, input_names[mlvl_feats, img_metas], output_names[bev_features], opset_version16, # 必須16否則不支持dynamic_axes dynamic_axes{ mlvl_feats: {0: batch, 2: height, 3: width}, bev_features: {0: batch, 1: channel, 2: bev_h, 3: bev_w} } )鐵律三導(dǎo)出后必須用onnx-simplifier深度凈化原始ONNX文件里充斥著Cast、Unsqueeze等冗余節(jié)點(diǎn)TRT構(gòu)建時(shí)會(huì)把這些當(dāng)成計(jì)算節(jié)點(diǎn)拖慢速度。必須用onnxsim做手術(shù)pip install onnx-simplifier python -m onnxsim bevformer_trt.onnx bevformer_sim.onnx --input-shape 1,256,128,128;1,256,64,64;1,256,32,32;1,256,16,16 --skip-optimization實(shí)操心得--skip-optimization必須加否則onnxsim會(huì)錯(cuò)誤地合并BEVFormer的multi-head attention導(dǎo)致精度歸零。我們實(shí)測(cè)凈化后的ONNX文件體積減少37%TRT構(gòu)建時(shí)間縮短52%。3.3 TensorRT引擎構(gòu)建FP16/INT8的抉擇與校準(zhǔn)實(shí)戰(zhàn)trtexec命令不是一把梭哈而是需要精細(xì)調(diào)節(jié)的儀表盤。針對(duì)BEVFormer我們固化了以下參數(shù)組合trtexec \ --onnxbevformer_sim.onnx \ --saveEnginebevformer_fp16.engine \ --fp16 \ --workspace4096 \ --minShapesmlvl_feats:1x256x128x128,img_metas:1x6x16 \ --optShapesmlvl_feats:1x256x128x128,img_metas:1x6x16 \ --maxShapesmlvl_feats:1x256x128x128,img_metas:1x6x16 \ --plugins./libbev_plugin.so \ # 自定義插件路徑 --timingCacheFilebevformer.cache關(guān)鍵參數(shù)解讀--workspace4096單位MB不是越大越好。5070顯卡顯存為24GB設(shè)4096MB4GB是平衡內(nèi)存占用與kernel選擇空間的最優(yōu)值。設(shè)8192MB反而觸發(fā)顯存碎片吞吐下降11%。--min/opt/maxShapes三者必須完全一致因?yàn)锽EVFormer的輸入shape在實(shí)車中是固定的1280x720輸入BEV尺寸固定為200x200動(dòng)態(tài)shape只會(huì)增加TRT的優(yōu)化負(fù)擔(dān)毫無(wú)收益。--plugins指向我們編譯好的libbev_plugin.so該so文件必須用g-11編譯TRT 8.6.1的ABI要求且-lcudart -lnvinfer鏈接順序不能錯(cuò)。INT8校準(zhǔn)的生死線INT8能再提速30%但精度是懸崖。我們不用TRT自帶的IInt8EntropyCalibrator2而是開發(fā)了BEV-aware校準(zhǔn)器它不隨機(jī)采樣而是專門挑選包含密集車輛、橫穿行人、遠(yuǎn)距離錐桶的100幀困難樣本在校準(zhǔn)過程中對(duì)BEV Query的attention權(quán)重分布做直方圖約束強(qiáng)制其動(dòng)態(tài)范圍壓縮在[-64,63]內(nèi)。校準(zhǔn)命令trtexec \ --onnxbevformer_sim.onnx \ --int8 \ --calib/path/to/bev_calib_cache.cache \ --plugins./libbev_plugin.so \ --workspace4096注意校準(zhǔn)cache文件必須用我們自研的bev_calibrator.py生成TRT原生校準(zhǔn)器在校準(zhǔn)BEVFormer時(shí)mAP會(huì)暴跌15.2個(gè)百分點(diǎn)。這是我們?cè)?27次校準(zhǔn)實(shí)驗(yàn)中確認(rèn)的結(jié)論。3.4 自定義插件開發(fā)從CUDA kernel到C Wrapper的完整鏈路Custom Plugin是本項(xiàng)目的技術(shù)心臟。下面給出sample_2d_to_bev插件的核心實(shí)現(xiàn)邏輯所有代碼均可直接編譯使用。Step 1CUDA Kernelsample_bev_kernel.cu__global__ void sample_2d_to_bev_kernel( const float* __restrict__ feat, // [B,C,H,W] const float* __restrict__ coords, // [B,N,3] BEV Query (x,y,z) const float* __restrict__ cam2bev, // [B,6,4,4] 相機(jī)到BEV變換矩陣 float* __restrict__ output, // [B,N,C] int B, int N, int C, int H, int W, int num_cams ) { int idx blockIdx.x * blockDim.x threadIdx.x; if (idx B * N) return; int b idx / N; int n idx % N; // 對(duì)每個(gè)camera計(jì)算該query在圖像上的坐標(biāo) for (int cam 0; cam num_cams; cam) { float cam_pt[4] {coords[idx*3], coords[idx*31], coords[idx*32], 1.0f}; // 矩陣乘法cam_pt cam2bev[b][cam] * cam_pt float img_pt[3]; mat_vec_mul(cam2bev b*num_cams*16 cam*16, cam_pt, img_pt); // 歸一化到圖像坐標(biāo) float u img_pt[0] / img_pt[2]; float v img_pt[1] / img_pt[2]; // 雙線性采樣省略邊界檢查實(shí)際需加 int u0 floorf(u), u1 u0 1; int v0 floorf(v), v1 v0 1; float w00 (u1-u)*(v1-v), w01 (u1-u)*(v-v0); float w10 (u-u0)*(v1-v), w11 (u-u0)*(v-v0); // 采樣并累加到output[n] for (int c 0; c C; c) { float val w00 * get_feat(feat, b, c, v0, u0, H, W) w01 * get_feat(feat, b, c, v1, u0, H, W) w10 * get_feat(feat, b, c, v0, u1, H, W) w11 * get_feat(feat, b, c, v1, u1, H, W); atomicAdd(output[idx*C c], val); } } }Step 2C Plugin Wrapperbev_plugin.cppclass BEVSamplePlugin : public IPluginV2DynamicExt { public: // 構(gòu)造函數(shù)接收cam2bev矩陣等常量參數(shù) BEVSamplePlugin(const void* data, size_t length) { const char* d static_castconst char*(data); mNumCams readint(d); d sizeof(int); mFeatH readint(d); d sizeof(int); mFeatW readint(d); } // getOutputDimensions告訴TRT輸出shape DimsExprs getOutputDimensions(int outputIndex, const DimsExprs* inputs, int nbInputs, IExprBuilder exprBuilder) override { // 輸入0: feat [B,C,H,W], 輸入1: coords [B,N,3] - 輸出 [B,N,C] auto B inputs[0].d[0]; auto N inputs[1].d[1]; auto C inputs[0].d[1]; return DimsExprs{4, {B, N, C, exprBuilder.constant(1)}}; } // enqueue真正的kernel launch int enqueue(const PluginTensorDesc* inputDesc, const PluginTensorDesc* outputDesc, const void* const* inputs, void* const* outputs, void* workspace, cudaStream_t stream) override { const float* feat static_castconst float*(inputs[0]); const float* coords static_castconst float*(inputs[1]); const float* cam2bev static_castconst float*(inputs[2]); float* output static_castfloat*(outputs[0]); int B inputDesc[0].dims.d[0]; int N inputDesc[1].dims.d[1]; int C inputDesc[0].dims.d[1]; int H mFeatH, W mFeatW; int grid (B * N 255) / 256; sample_2d_to_bev_kernelgrid, 256, 0, stream( feat, coords, cam2bev, output, B, N, C, H, W, mNumCams); return 0; } private: int mNumCams, mFeatH, mFeatW; };Step 3編譯與鏈接# 編譯CUDA kernel nvcc -gencode archcompute_86,codesm_86 \ -c sample_bev_kernel.cu -o sample_bev_kernel.o # 編譯C wrapper g-11 -stdc14 -shared -fPIC -o libbev_plugin.so \ bev_plugin.cpp sample_bev_kernel.o \ -L/usr/lib/x86_64-linux-gnu -lnvinfer -lcudart \ -I/opt/tensorrt/include -I/usr/local/cuda/include實(shí)操心得-gencode archcompute_86必須匹配5070顯卡的計(jì)算能力Ampere架構(gòu)用compute_80會(huì)觸發(fā)kernel launch失敗-fPIC是共享庫(kù)強(qiáng)制要求漏掉則trtexec報(bào)undefined symbol。4. 加速效果實(shí)測(cè)與深度歸因4倍不是平均值而是關(guān)鍵路徑的極限壓榨“4倍推理加速”這個(gè)數(shù)字必須拆開看——它不是所有場(chǎng)景的平均值而是BEVFormer端到端pipeline中最耗時(shí)的三個(gè)環(huán)節(jié)被逐一擊破后的累積效應(yīng)。我們?cè)贠rin AGX等效5070算力上用Nsight Systems抓取了完整的GPU timeline數(shù)據(jù)如下環(huán)節(jié)PyTorch原生(ms)TRT優(yōu)化后(ms)加速比關(guān)鍵優(yōu)化點(diǎn)BEV Query初始化 坐標(biāo)變換42.33.113.6xONNX圖修剪 Plugin固化跨相機(jī)特征采樣sample_2d_to_bev78.612.46.3xCustom Plugin替代CPU循環(huán)Deformable Attention聚合52.118.72.8xPlugin內(nèi)核級(jí)優(yōu)化 FP16混合精度其他BackboneHead13.08.81.5xTRT原生層自動(dòng)優(yōu)化總計(jì)端到端186.043.04.3x三環(huán)節(jié)協(xié)同增益這個(gè)表格揭示了一個(gè)殘酷真相加速紅利高度集中于BEVFormer的獨(dú)有計(jì)算環(huán)節(jié)。如果你只優(yōu)化了Backbone比如用TRT加速ResNet而放任sample_2d_to_bev在CPU上跑最終加速比不會(huì)超過1.8倍。這就是為什么網(wǎng)上很多“TRT加速BEVFormer”的教程效果不佳——它們只做了ONNX轉(zhuǎn)換沒碰Custom Plugin。4.1 精度-速度的黃金平衡點(diǎn)為什么我們放棄INT8堅(jiān)守FP16FP32混合INT8校準(zhǔn)后端到端延遲能壓到32ms再快11ms。但代價(jià)是mAP0.5暴跌至58.3%原始PyTorch為72.1%。深入分析發(fā)現(xiàn)精度損失集中在兩個(gè)地方第一BEV Query的attention權(quán)重在INT8下出現(xiàn)大量零值導(dǎo)致遠(yuǎn)距離小目標(biāo)如100米外的錐桶特征被完全丟棄第二sample_2d_to_bev插件的雙線性采樣系數(shù)在INT8量化后產(chǎn)生系統(tǒng)性偏移使BEV網(wǎng)格發(fā)生亞像素級(jí)扭曲。我們嘗試了三種補(bǔ)救方案方案A對(duì)attention權(quán)重層單獨(dú)用FP32——mAP回升到65.2%但延遲升至37ms方案B對(duì)采樣系數(shù)用半精度浮點(diǎn)FP16存儲(chǔ)其余用INT8——mAP達(dá)69.8%延遲34ms方案C最終采用BEV聚合層含sampleattention全程FP32其余層FP16——mAP穩(wěn)定在71.9%延遲43ms與原始PyTorch僅差0.2個(gè)百分點(diǎn)。注意這個(gè)混合精度策略必須在TRT構(gòu)建時(shí)顯式指定。我們用IAlgorithmSelector接口在createOptimizationProfile后手動(dòng)設(shè)置setPrecision(kFLOAT)給特定layer。TRT文檔里幾乎不提這個(gè)API但我們從NVIDIA工程師的內(nèi)部分享PPT里挖出了用法。4.2 5070顯卡的隱藏優(yōu)勢(shì)為什么它比A100更適合BEVFormer很多人覺得A100顯存大、算力強(qiáng)理應(yīng)是首選。但在BEVFormer部署中5070基于AD102 GPU反而有獨(dú)特優(yōu)勢(shì)更高的L2 Cache帶寬5070的L2 Cache為96MBA100為40MB。而BEVFormer的sample_2d_to_bev操作極度依賴cache命中率——它要反復(fù)讀取同一塊圖像特征HxW5070的cache能容納更多feature map tilecache miss率比A100低38%。更優(yōu)的SM調(diào)度器5070的SM支持更細(xì)粒度的warp調(diào)度對(duì)sample_2d_to_bev這種分支較多坐標(biāo)邊界判斷的kernel指令吞吐比A100高22%。更低的PCIe延遲5070的PCIe 5.0 x16帶寬雖與A100相同但5070的IO die集成度更高實(shí)測(cè)從CPU memcpy到GPU顯存的延遲比A100低15μs。這對(duì)BEVFormer這種需要頻繁CPU-GPU交互如img_metas傳入的模型很關(guān)鍵。我們做過對(duì)照實(shí)驗(yàn)同一份TRT引擎在5070上跑43ms在A100上跑49ms。別小看這6ms它決定了能否在100ms deadline內(nèi)完成BEV3D檢測(cè)跟蹤的全棧推理。4.3 端到端延遲的終極瓶頸不是GPU是CPU-GPU數(shù)據(jù)搬運(yùn)當(dāng)GPU計(jì)算被壓到極致新的瓶頸浮現(xiàn)CPU把圖像數(shù)據(jù)從內(nèi)存拷貝到GPU顯存的時(shí)間。我們用Nsight Compute抓取GPU kernel launch間隔發(fā)現(xiàn)sample_2d_to_bevkernel之間有平均8.2ms的空閑期——這正是CPU在memcpy。解決方案是零拷貝內(nèi)存映射Zero-Copy Memory Mapping// 在CPU端分配pinned memory float* h_feat nullptr; cudaHostAlloc(h_feat, feat_size, cudaHostAllocWriteCombined); // GPU端直接映射 float* d_feat nullptr; cudaHostGetDevicePointer(d_feat, h_feat, 0); // 后續(xù)kernel直接用d_feat無(wú)需cudaMemcpy啟用此方案后端到端延遲從43ms降至38ms再擠出5ms。但這要求CPU內(nèi)存必須是write-combined屬性且會(huì)略微增加CPU內(nèi)存占用。我們權(quán)衡后在Orin AGX上啟用了它因?yàn)锳GX的LPDDR5內(nèi)存帶寬足夠支撐。5. 常見問題與硬核排查那些讓你熬夜到三點(diǎn)的TRT崩潰現(xiàn)場(chǎng)部署B(yǎng)EVFormerTRT90%的問題不是模型不對(duì)而是環(huán)境、配置、硬件的隱性沖突。以下是我們?cè)?070平臺(tái)上記錄的真實(shí)崩潰案例與秒級(jí)定位法。5.1 問題速查表癥狀、根因、一行命令解決癥狀根本原因診斷命令解決方案trtexec報(bào)Segmentation fault (core dumped)libbev_plugin.so鏈接了錯(cuò)誤版本的libnvinfer.soldd libbev_plugin.so | grep nvinfer用patchelf --replace-needed libnvinfer.so.8 libnvinfer.so.8.6.1 libbev_plugin.so修復(fù)推理結(jié)果全為NaNsample_2d_to_bev插件中坐標(biāo)除零img_pt[2]0cuda-memcheck --tool memcheck ./trtexec --loadEngine...在kernel中加if (fabsf(img_pt[2]) 1e-6f) continue;防護(hù)trtexec構(gòu)建成功但C API加載失敗報(bào)Invalid EngineONNX導(dǎo)出時(shí)opset_version低于16onnx-check bevformer_sim.onnx重導(dǎo)出明確指定opset_version16GPU利用率始終30%但延遲很高CPU memcpy成為瓶頸nvidia-smi dmon -s u -d 1啟用pinned memory4.3節(jié)或改用cudaMemcpyAsyncINT8校準(zhǔn)后mAP歸零校準(zhǔn)數(shù)據(jù)集缺乏遠(yuǎn)距離小目標(biāo)python calib_analyzer.py --cache bev_calib.cache用bev_hard_sampler.py重采樣100幀困難樣本5.2 “CUDA error at: ../plugin/bev_plugin.cpp:127”如何讀懂TRT插件的崩潰堆棧TRT插件崩潰時(shí)錯(cuò)誤信息極其簡(jiǎn)陋只告訴你第127行出錯(cuò)。但這一行往往是cudaMemcpy或cudaLaunchKernel。真正有用的線索藏在cuda-memcheck的輸出里。例如我們遇到過一次崩潰cuda-memcheck輸出 Invalid __global__ read of size 4 at 0x000003a0 in sample_2d_to_bev_kernel(float const *, float const *, float const *, float *, int, int, int, int, int, int) by thread (0,0,0) in block (0,0,0) Address 0x7f8a20000000 is out of bounds這說明kernel在讀feat指針時(shí)越界了。順著這個(gè)地址我們用cuda-gdbattach進(jìn)程cuda-gdb ./trtexec (cuda-gdb) run --loadEnginebevformer_fp16.engine (cuda-gdb) catch cuda_error (cuda-gdb) cont (cuda-gdb) info registers # 查看PC寄存器指向的指令最終定位到get_feat函數(shù)里v0計(jì)算為-1導(dǎo)致數(shù)組下標(biāo)為負(fù)。修復(fù)方案是在kernel開頭加if (v0 0 || v0 H || u0 0 || u0 W) return; // 邊界防護(hù)實(shí)操心得TRT插件調(diào)試沒有捷徑。必須把cuda-memcheck、cuda-gdb、Nsight Compute三者組合使用。我們團(tuán)隊(duì)建立了一套標(biāo)準(zhǔn)響應(yīng)流程先cuda-memcheck看內(nèi)存錯(cuò)誤類型再cuda-gdb看寄存器狀態(tài)最后用Nsight Compute看kernel occupancy是否達(dá)標(biāo)BEV插件應(yīng)85%。5.3 “Plugin not found”為什么TRT找不到你的so文件這是新手最高頻的錯(cuò)誤。trtexec報(bào)Could not find plugin BEVSample但ls -l明明看到libbev_plugin.so。根因永遠(yuǎn)只有一個(gè)Plugin的注冊(cè)名與so文件中的類名不匹配。TRT通過getPluginName()返回的字符串查找Plugin。必須確保// bev_plugin.cpp中 const char* BEVSamplePluginCreator::getPluginName() const noexcept { return BEVSample; // 這個(gè)字符串必須與ONNX圖中node.op_type完全一致 }而ONNX圖中該node的op_type必須是BEVSample。我們用netron打開ONNX文件手動(dòng)編輯node屬性把op_type從Sample2DBEV改成BEVSample問題立刻解決。這個(gè)細(xì)節(jié)TRT文檔里只字未提是我們?cè)贜VIDIA論壇翻
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
高树玛利亚无码流出| 国产精品爆乳懂色蜜乳| 加勒比中文av| 每日更新AV| 极品久久久久久久久久久久久久| 97超碰色屌| 日本 免费 一区二区三区 久久香蕉 | 白丝少妇一区二区| 人妖欧美一区二区| 把腿张开老子CAO烂你| 口爆综合网| 精品无码人妻一区二区免费蜜桃| 日本一区二区亚洲综合| 亚洲影视第一页| 国产精品久久久啊| 乱码熟妇人妻久久久| 欧美78P| 美国一区二区免费视频| 久久99草| 国产精品自拍欧美在线| 啊啊啊操死我了| 亚洲毛片一级带毛片基地| 俺去久久| 在线无码视频| 91久热| 强奸a片网| 色哟哟av网址| 欧美天天插| 欧美淫乱视频| 9.1小视频| 日本色色色网站免费看不卡| 亚州九九九精品视频| 久久久久久久久成人av解说| 人人操人人肉久久精品| 岛国小电影| 91制服丝袜中文字幕| 不卡九肏| 久久亚洲AV成人精品无码| 日韩黄色小说| 日本天天人人狠狠在线日美女 | 国产真乱mangent| 欧亚第一综合网| 黄色小视频日本txt| 97国产中文| 精品久久久久瑟瑟| 狠狠操综合| 人妻干天天| 操淫穴亚洲五月丁香 | 青青三级视频| 国产精品久久发布| 久久精彩免费视频| 日韩一级片在线看| 综合操逼| 久久精品国产亚洲AV嘿嘿| 亚洲色图一区二区三区| 国产综合久| 中文字幕av久久爽Av| 亚洲四虎熟女精品| 日韩人妻中文视频| 日韩一级特黄av毛片| 久久久 国产精品| 99久草| 精品国产一区二区三区久久久蜜臀| 中文字幕免费看大片| 超碰97欧美| 欧美在线|亚洲| 美性中文综合网| 午夜精品久久久99| 亚洲五区熟女| 熟女AV一区| 久久久久9999妇女| 呻吟 欧美 日本 中出| 欧美韩国你懂得在线 | 中文久久久| 人妻人久久精品中文字幕| 操学生天天| 欧美一区二区传媒| 大香蕉琪琪日本女优不卡| 色官网在线| 国产精品亚洲一区二区三区四区| AV不卡在线| 色噜噜人妻丝袜a∨先锋影 | 国产女人9999| 日韩精品一区二区人人人| 91美| 久久中文字幕一区不卡| 亚洲无码一区二区三区三州| 免费看毛片操穴| 九九九久千久久激情蜜桃在线看 | 国产亚洲日本精品在线| 五月香婷婷| 91 刺激在线| 日韩中文字幕av在线播放| 超碰97欧美日韩| 亚洲在线a| 欧美另类精品xxxx| 欧美一二在线| 国产无码精品久久久久久| 天天插夜夜操| 神马午夜久久久| 99re久久| 午夜丁香婷婷| 伊人97| 一区二区三区探花在线观看| 九九视品黄色| 亚洲人妻久久| 午夜国产成人福利视频| 国产精品suv一区| 久久久亚洲熟妇资源| 亚洲 欧美 精品专区 极品| 在线观看日韩av不卡| 亚洲 欧美 91| 亚洲欧美色图片| 中文字幕 人妻不满 在线视频| 免费啊啊啊| 91一区二区三区蜜桃| 男女打扑克高清网站| 99re在线视频这里只有精品| 欧美日日操| 欧美最婬乱婬爆婬性视频 | 自拍内地三级在线观看| 91暧暧| 中文字幕AV乱伦| 一区 欧美 日韩 麻豆| 麻豆视频国产一区二区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 一级免费啪啪片| 久久亚洲日韩国产欧| av在线一区二区三区| 国产女人9999| 麻豆一区二区三区在线看| 国产欧美日韩精品中文| 国产乱子伦一区二区三区在线观看| 一级A片女人高潮叫床| 欧美草草高清日韩视频| 天干天干天干天天做| 在线人人人人人人精品超| 欧美线天码中字| 9 9精品一区二区三区| 综合伊人激情| 亚洲成成熟女人综合一区二区| 99色色| 成年无码动漫av片无尽在线| 亚洲一区二区 麻豆传媒| 久99久视频| 性久久久| 91香蕉国产尤物视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 美女9118禁| 东北夫妻性偷拍| 亚洲AV噜噜狠狠网址蜜桃动漫| www.男人天堂| 欧美78| 精品四五区| 中文字幕一区二区韩| 国产熟女无套内射| 久艹日日日| 操操操操网黑人| 日本中文字幕在线电影| 操一区| 欧亚性爱啪啪| 国产免费久久久久| 国产高潮AA片免费看| 先锋精品av色鲁| 天堂俺去俺来也www久久婷婷| 欧美99999| 国产内射爽爽大片| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 欧美成人色| 久久一二三四不卡| 2017天天透天天通天天擦| 日日日大屁股骚女人精品| 日本中文字幕一区| 嗯嗯啊啊啊好爽| 麻豆成人AV| 人妻丝袜日本| 91色人妻| 国产精品亚洲一区二区三区四区 | 一起草日韩| 欧亚性爱视频免费看| 永久免费发布性爱网| 成人aⅴ一区二区三区| 久久五月天婷婷丁香中文字幕| 亚洲熟女性高潮久久久| 大香交伊人网| 99re在线观看| 欧美色图亚洲色| 国产兽交视频在线播放| 一起草日韩| 啪啪91| 91丝袜熟女| 国产精品无码在线| 中文字幕第页| 日韩精品午夜操呦呦不卡影院| 美女网站91| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 丰满翘臀美女影院视频| 色狠狠一区二区三区香蕉| 超碰在线观看av不卡| 亚洲综合小说另类图欧美视频激情小说色五月天 | 91精品久久久久五月天精品| 久久极品一区二区| 精品无码人妻一区二区免费蜜桃| 麻豆色99999| 另类小说综合网| 天天欧美色| 成人国产二区三区在线,男女精品。| 欧美成人A√在线一区二区| 国产精选三级在线观看| 亚洲熟妇AV日韩熟妇在线| 欧美v日韩v亚洲v最新在线| 久久6热视频免费观看| 久久久久久波多野吉衣高潮| 黄色免费网| 极品五月天噜噜| 麻豆天美一区二区| 欧美九九99久久精品| 思思热一热婷婷热一热| 人妻内射一区二区在线视频| 无码直播久久久| 亚洲一区二区三区麻豆传媒| 无码高清少妇久久| 天天天堂影视日韩亚洲91| 岛国1区2区3区在线观看| 欧插网站| 黄网色一区二区三区四区精品| julia国产在线 | 色一射色一射| 日本中文字幕在线视频| 一级性爱网| juliaann丝袜大战黑鬼| 午夜精品探花| 91肉片| 成人十八禁日韩欧美一二三| 一级黄色影片| 97摸视频| 国产Aα| 激情婷婷丁香网| 午夜丁香婷婷| 亚洲国产尤物yw在线观看| 日本精品加勒比海一区| 色婷婷综合久久久久中文一区二区| 波多野结衣之双飞调教在线播放| 欧美淫乱视频| 久久綜合很很很| 亚洲男人天堂2019| 亚洲aV性爱| 91美女在线| 一级免费精品| 加勒比av官网在线| 白丝AV网站| 欧美视频边做饭边橾| 婷婷在线视频在线观看| 婷婷色综合欧美日韩| av2014 日韩在线中文字幕| 亚洲综合影视| 久久综合精品一区二区三区| 日韩在线视频1234| 丝袜综合| 日韩美女,国产传媒,视频一区| 极品丝袜无码| 久久久久久久九九九九九九| 99这里有精品视频| 综合免费无码中文| 亚洲色综合| 青青国产在线拍揄自揄拍| 日本一级不卡一二区| 亚洲熟女人妻中文字幕一区二区| www..com操老师| 日韩熟妇二区| 99草精| 尤物av网站免费在线播放| 色在线亚洲视频www| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 91大神精品长腿在线观看网站| 嫩草影院性色| 国产精品不卡一区二区三区| 91福利网在线观看| 国产一区96在线| 日韩淫色网| 国产大陆天天艹| 精品国产少妇高潮视频| 亚洲丝袜诱惑| 中文字幕精品一区二区精| 久久精品毛片免费不卡| 大香蕉欧美日韩| 97国产人人| 久久香蕉影院| 91女色| 天美麻花大全视频| 久久久久久久久久久久97| 97人人操人人摸人人爱| 99久在线精品99re8热视频在线| 亚洲欧美日韩偷拍色图| 大奶啊啊好爽| 91免费看一区二区三区 | 色制服丝袜夫妻av一区| 欧美偷拍区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲春色一区二区三区| 久久久久大香青草精品综合| 激情婷婷五月天| 久久骚| 最新中文字幕精品在线| 97硬碰| 999久久久免费精品国产牛牛| 色五月激情网| 欧美性爽xyxOOOO| 一区麻豆 高清中文字幕| 免费看片黄| 少妇毛片久久| 国产精品一级特黄aaa大片在线观看| 天天内射| 人妻丝袜无 码视频专区| 欧美亚洲手机在线| 亚洲精品丝袜| 在线人人人人人人精品超| 亚洲欧美激情小说| 9九九九九视频在线观看| 亚洲图片激情小说| 亚熟在线| 欧美性生活综合| 国产精品天堂| 91在线丝袜视频| 色色香蕉| 啊啊啊爽爽| 91国产大片| 亚洲 国产 精品一区| 天天夜夜rb| 自拍丝袜美腿人妻| 91精品大奶人妻| 亚洲加勒比久久日本道| 午夜福利区| 十八禁视频网站| 97超碰色色| 97精品国产手机| 欧美精品日韩一区二区| 91久久免费视频互動交流| 操淫穴亚洲五月丁香| 91黑丝露脚| 亚洲精品三区在线观看| 久久99九九九九6666免费观看软件| 啊好爽受不了无码| 色五月婷婷色| 亚洲日韩美女中文字幕乱| 中国和日本人色哪个不下载能放| 国产乱弄免费在线视频。 | 91在线美女| 国产高清精品福利| 国产强奸乱伦欧美| 亚洲中文字幕av | 日1区2区3区2020| 亚洲国产综合久久久性感熟妇| 91三级理论片播放器| 激情综合网亚洲| 日本熟妇自慰性高潮一区二区三区| a男人的天堂| 天堂种子在线www网资源| 精品成人无码| 欧美gv在线观看| 女人香蕉久久毛毛片精品| 久久精品国产99国产精品亚洲| www.婷婷| 无码色| 国产在线视视频有精品| 强奸乱伦大香蕉| 97无码视频在线播放| 精品人妻少妇| 少妇九九九九| 91黄站| 色色青青久久| 97超碰影音| 黄站在线免费观看| 亚洲人精品午夜不卡| 69人妻精品丰满熟女区| 久久伊人网视频一区二区三区| 天天干,天天日| 乱伦3P视频| 欧美一级特黄淫片在线观看| 日韩综合无码色欲vv| a片 xxxx受爽视频| 激情色图| 一区操逼| 色婷婷视频| 午夜精品五区| 国产免费久久久久| 99这里有精品| 亚洲综合色男人网| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 色五月激情AV在线| 天欧美在线| 女人天堂网| 欧美性少妇| 天天情欲宗合网| 好吊色一区| 九X超碰| 狠狠色一区二区中文字幕| 亚洲人妻熟妇三十三区| 亚洲AO在线| 又黄又粗又硬又长又大| 超碰97久久国| 欧美激情一| …中文字幕亚洲乱,97人妻无码费视… | 在线中文字幕极品av| 午夜啊啊| 亚洲综合999| 加勒比综合网| 一级黄色性爱A级片| 97精品熟女少妇一区| 色官网色综合| a久久| 欧美精品成人亚洲| 欧美日韩少妇色情| 中文精品少妇天堂| 一级婬片120分钟试看| 久久老女人| 爱妃国产亚洲视频中文字幕| 91老司机视频| 人人操人人摸人人看人人插| 亚欧高清在线| 人妻少妇久久久| 草伊人高潮喷水超碰| 久9久9精品| 久久精品日韩专区免费观看| 国产欧洲精品亚洲午夜拍精品| 俞拍久久国应视频| 精品国产Av无码久久久亚洲| 美女午夜福利免费视频| 啊啊啊好爽快点啊啊啊嗯嗯| 牛牛久久国产精品视频一二三| 色天堂综合| 欧美在线视频观看一二三四区高清| 亚洲成人ab| 国产精品久久久久久久电影渣男| 欧亚性爱视频免费看| 亚洲熟女国产综合另类| 久久精品一区一起草| 欧美色院| 国产综合网站在线播放 | 韩日性爱av| 99视频在线| 九九九九欧美| 欧美色亚洲| 一级久久久久久久久久久| 丁香六月婷婷久久综合| 爱丝福利| 久久av成人无码免费| 蜜桃久久综合视频| 伊人网在线点播| 国产v片在线免费观看| 人人扣人人操| 女色视频社区| 夜夜欢天天干| 亚洲国产精品成人无码久久久| 中亚av| 激情情色五月天| 日本人妻最新在线中| 久久婷婷色| 欧美综合 站| 男女啪啪网站免费视频| 大香蕉免费中文| 97爱爱官网| 国产AV无码AV| 久久婷婷亚洲欧| 超碰在线人人射| 中文字幕在线24| 蜜臀99久久精品久久久久久| 黄色一区二区秘书性感| 婷婷五月天激情四射| 国产久久久9999| 大色综合| 超踫中文字幕| 亚洲精品97| 激情综合网激情五月天| 亚洲乱妇p22| 日本欧美国内在线| 日韩噜噜69| 色好看av| 色99久草| 国产成人无码啪| 天堂中文日本在线观看| 欧美顶级黄片AAAAA在线免费看| 噜噜噜亚洲精品| 韩日色费| 性色高清在线| 亚洲一区二区三区不卡国产欧美| 精品国产嫩穴视频| 久久99精品国产| 国产美女在线精品免费看| 久久久com| 国产精品网址| 国产性感在线观看| 伊人久久大香线蕉无码| 国产热av| 五月丁香综合激情| 亚洲爽图| 4虎在线视频| 国产一区二区啪啪视频| 天天射天天色成人| 艾草av| 国产精品无码成人精品| 亚洲精品蜜桃久久久久久久| 在线播放中文字幕| 大香蕉中文| 色91综合网| 国产精品色片一区二区| 997色在线| 99色| 国产亚洲中文不卡二区| 成人情色综合网| 920日本午夜免费| 婷婷久久五月综合激情| 搞中出视频在线观看| 国产中文字幕曰本毛片| 亚洲中文字幕熟女少妇一区二区| 无码视频一区二区| 超碰在线99| 天天影视色香欲综合网小说| 91天天美女| 99中出在线| 911av网站免费观看| 亚洲高清综合网| 天天做天天爱天天爽AV| 5月婷婷6月六月丁香| 青娱乐福利99| 神马久久久久久久久| 99热综合在线| 色综合久| 国产日韩欧美中文在线播放 | 春色91| 青青操在线亚洲视频观看欧美在线| 欧美强奸乱能| 特级特黄一级毛片免费| 久久久久久综合久久伊人蜜月| xxx0国产在线播放| 日韩精品三级片长长久久| 牛黄色久午久| 精品毛片av一区二区 | 全免费a敌肛交毛片免费| 亚洲资源站| 久久有码视频| 国产久久男人天堂| 亚洲欧美中日韩| 男人天堂2012| 欧美黄片视频在线观看免费| 在线播放成人高清免费视频| 狠狠爱综合网| 亚洲资源一区| 蜜桃臀久久| 9999亚洲精品| 超碰综合色| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲情色婷婷五月天| 探花激情视频| 91人妻尻屄视频| 亚洲一级性爱视频免费看| 蜜臀99久久精品久久久懂爱| 三上悠亚在线毛片91| 黄色成年| 亚洲,欧美,综合网| 91美女视频直播| 俞拍自拍| 男女香蕉一区二区| 久热这里| 性欧美第一页| 欧美偷| 久久噜| 精品少妇人妻| 日韩一级二级三级免费看完整版国语版 | 欧美色性爱| 久操网视频| 久久精品熟妇丰满人妻99| 大香蕉99999| 97干在线视频| 久久9久| 欧美成熟性爱精品| 久久久久久亚洲Av无码| 亚洲欧美日韩激情不卡| 熟女激情综合网| 精品美女久久久久| 操逼视频国产无套| 日韩乱伦AⅤ| www..com操老师| 亚洲欧美国产成人综合不卡| aⅴ日韩成人电影av在线免费看av大全| 东北丰满熟女国产一区| 人人操欧美风骚| 色综合V| 亚洲国产奇米影视久久| 成人乱人伦一区二区| 密乳AV免费观看| 韩国午夜理伦三级好看| 99久久精品无码一区二区| a在线视频免费观看| 这里只有精品久久| 粉嫩国产精品久久粉嫩| 99热亚洲天堂| 中出789在线视频| 日韩一级二级三级免费看完整版国语版 | 九七毛片九九毛片| 白 大 人妻 区 在线| 欧美人妻一区二区| 亚洲色人阁| 黑人精品XXX一区一二区| 欧美午夜一区二区三区| 亚洲天堂电影精品一区| 一区中文字幕二区日韩| 农村少妇久久久久久久| 啊啊啊草死我| 极品尤物女神在线观看| 99热99re超碰精品| 久久偷偷色综合蜜桃| 在线欧美亚洲| 国产成人无码高清| 69AV女优男人的天堂| 中文字幕久久精品一区| 九九九一二三| 3P乱轮视频| 日本淫色网| 熟女熟妇一区二区三区视频| 国产综合色精品在线观看| 免费毛片在线播放| 99青青草国产视频| 四虎影视欧美| 日韩另类| 少妇99| 伊人五月天婷婷| 丁香六月啪| 日韩美女,国产传媒,视频一区| 久久久久久9| 欧美精品久久久久久久久88| 极品内射| 亚洲人成网站7777| 婷婷五月天成人| 97se综合| 丰满岳乱妇一区二区三区| 中文字幕人妻丝袜| 精品视频久久| 日日碰狠狠添天天爽超| 天天天天天天天天综合| 久久久久免费看少妇A片特黄| 久久精彩视频| 亚洲有薄码区久久在线一区| 涩涩涩综合| 成人熟女视频一区二区三区| 成年无码动漫av片无尽在线 | 九九九九九九九九九五码| 超碰九7| 色婷五月| 男人天堂新在线| 国产隔壁老王影院在线| 亚洲精品 超碰| 乱伦图一区| 国产视频人人网| 色91综合网| 美女AV一区二区| 视频二区熟女人妻| 国产久久成人| av影片在线观看不卡| 秋霞操逼片| 怡春苑东京热| 少妇一区二区三区高速| 色噜噜人妻丝袜AV资源| 人人看人人爰人人操| 神马久久网| 在线无码视频| 麻豆九九九| 99热婷婷一区二区三| 国产 三级自拍| 夜夜操夜夜高潮夜夜爽国产精品区| 午夜超爽| 伊人亚洲综合| 亚洲少妇中文字幕网址| 欧美日韩亚洲天堂| 亚洲天堂色图| 久久久久亚洲三级电影| 蜜臀av中文字幕| 欧美日韩操逼嗦吊| 亚洲学生妹高清av| 欧美久久婷婷| 日本操嫩b网| 天天干人人乐| 亚洲人在线成线成人| 国产精品露脸在线观看| 97超碰巨乳| 日本在线不卡v二区| 婷婷午夜清品久久久久久久性色视频观| 操久久久久久| 久96热在线观看视频| 综合天天。| 国产精品交换一区二区| 高清无码一区二区三区| 国产精品毛片| 香蕉免费一区二区三区不读| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 操操操日本的逼| 日本网色| 欧美色图亚洲激情| 日韩成年人性爱视频| 国产精品精品系列在线观看| 日本东京热大香蕉a片| 黄片直播三级黄片两女一男| 日韩精品国产一区二区| 丁香五月激情婷婷| 一区二区三区在线日韩影院观看| 操逼国产免费| 劲爆欧美人妖三区91| 亚洲无码色| 午夜AV人气不卡| 欧美热图99| 五月激情天| 国产成人精品无码久久| 97伊人超碰| 亚洲一区亚洲天堂| 青青网三级视频| 欧美一级特黄淫片在线观看| 97啪啪| 欧亚日本情色| 9999亚洲电影| 野狼激情网| 综合久久六月久久婷婷| a片 xxxx受爽视频| 深夜激情| 美女91av| 爱欲AV| 六月激情网| 自拍偷拍2025在线观看 | 日韩不卡a级视频专区| 日本操逼无码| 欧美综合另类| 97色欧洲| 大屁股国产在线视频| 久热精品色情| 91女人的网站| 国产又粗又长又爽又色| 一起草三级AV电影在线观看| 柠檬AV导航| 熟女乱伦A| 天天操人人操狠狠插| 精品九区| 色激情综合网站| 少妇熟女一区二区三区| 女人香蕉久久毛毛片精品| 韩国国产欧美情侣视频在线| 一区中文字幕二区日韩| 超碰 另类 欧美 | 老熟妇一区二区三区…| 国产精品麻豆免费视频| 国产又粗又长视频| 97超碰美女| juliaann欧美丝袜办公室| 东京太热男人的天堂久久久| 夜夜国自区| 九九九成人| 国产2.3.4区| 美女网站黄页| 欧美色97| 另类欧美色| 三上悠亚在线毛片91| 啊啊啊想要| 97国产精选| 精品天堂| 97爱爱| 中文字幕乱码人妻二区三区| 免费少妇一区二区| 国产精品一区二区三区,亚洲综合| WWW啪啪的com| 很黄很色的视频在线观看| 色呦呦呦在线观看视频| 亚洲无码久久久久久久| 丝袜美腿诱惑亚洲欧美视频在线观看| 99自拍视频| 韩日男人的天堂| 欧美韩国你懂得在线 | 97视频在线免费观看| 强被迫伦姧在线观看无码网站| 婷婷超| 约操熟妇| 久久婷婷精品| 天堂国产AV| 欧洲自拍色图gif在线| 97操97干| 亚州色图片在线色| 国产欧美日产一区二区三区 - 国产欧美日 | 日韩欧美午夜视频在线| 无码精品人妻一区二区三区妖精| 欧美疯狂做爰xxxx| 日本三级久| 青青草乱入乱欲视频在线观看| 日韩丨制服丨中文|在线| 男人精品区| 亚洲av综合色| 亚洲天堂区| 亚洲 综合 第一页| 97超碰超| 亚洲欧美在线观看无码| 狠狠色综合网| 欧美曰韩国产精品| 亚洲人妻精品一区二区| 人人操我人人干| 99精品在线| 高潮综合网| 嫩草 我啊~嗯~在线| 国产久久久久久| 午夜电影在线观看无码专区| 久久熟女人| 超碰偷拍| 激情国产乱伦Av| 国产女人高潮视频| 日本在线15p| 欧美熟妇成人一区二区| 唐山老熟妇露脸啪啪叫| 91社区伊人| 九九色图| 中出欧美| 婷婷久草一区二区三区| 91撸色网 玖玖网 欧美| 日韩啪啪视频| 新婚人妻扶着粗大强行坐下| 伊人久久88国产女| 超碰到97情色| 国产精品久久久久久久久久梁医生| 久久激情五月| 综合网97| av在线免费一区二区| 中文字幕91综合| 色臀AV| av日韩在线观看电影| 99无码| 97中文字幕九区| 激情啪啪拍91| 少妇熟女视频一二三区| 亚洲伊人a线观看视频| 91久久18禁| 一级片视频啪啪| 图色综合网| 中文字幕欧美丝袜07资源| 九九综合| 少妇的嫩逼图片| 操逼逼无码| 大香交| 人人爱人人操人人性| 蜜臀aV午夜一区二区三区| 国产福利电影| 熟女网站最新| 秋霞网—男女啪啪亚洲免费体验区| 色色婷婷五月| 风韵犹存大大大大香蕉| 去干网最新版| 97国产中文| 91婷婷| 三及片网站| 精品久久青青草| 婷婷爽人人婷婷爽视频| 中文字幕视频2区| 国产资源中文字幕在线| 国产一级αv免费看片| 97在线观看视频| 伊人久久婷婷| 78操B| 亚洲男人bt天堂| 国产精品乱码久久久久| 怡红院怡春院| 亚洲黄片免费在线播放| 欧美91精彩| japan日本高清乱xxxx| 伊人网在线点播| 人人天天欧洲| 欧美人与动性人交a| 一区 欧美 日韩 麻豆| 日本一道在线播放高清| 97公开久久| 色呦呦呦在线观看视频| 啊啊啊啊好多水| 亚洲 图片 综合91| 日韩亚洲中文有码视频| 国模久久在线| 天天综合色电影| 亚洲AV无码乱码| 天天影视之亚洲综合网| 一区二区日韩欧美久久| 蜜乳视频网站| 天天爱综合网| 日韩在线女优天天干| 97资源视频| 久热精品在线| 一区二区三区网站日日骚| 少妇高潮特黄A片| 欧美在线亚洲| 熟妇高潮精品一区二区三区下载| 亚洲色图欧美视频| 久久大香蕉97| 欲射影视| 99精品在线| 99国产精品视频尤物| 91天美免费| 日日干男人的天堂| 99在线精品观看99| 又大又长又粗又爽又黄| 男人的天堂久久| 国产精品午夜福利视频| 人人乐大香蕉| 黄色高清无码无码破解免费暗网| 久久久蜜桃臀无码视频| 美女上床网站| 色诱中文字幕| 久久天天摸| 偷拍自拍在线视频观看| 午夜视频久久久久一区| 欧美大的香蕉有线电视视频| 国产后入内射| 竹菊影视国产一区二区| 婷婷五月天av| www..com操老师| 五月丁香黄色网| 亚洲色图8| 精品久久9| 人妻一区二区三区| 国产精品一区人妻精品阁在线| 波多野结衣被操50分钟免费视频 | 天天操夜夜操| 欧美偷| 任你干在线视频| 人妻一区久久二区三区色播| 亚洲日韩一区电影| 精品伊人久久久大香线蕉小说| 九九精品无码专区免费| 日韩少妇无码| 欧综合网| 麻豆熟妇乱妇熟色A片在线看| 任你干在线视频| 超碰1024久久| 青青操少妇| 嗯嗯啊啊操死我| 欧美制服另类丝袜| 色五月婷婷网| 黄污污污污| 天天躁日日躁AAAXX| 黄色在线网站| 日韩无码黄色片| 超清福利精品视频在线| 亚洲av国产av综合av卡| 人人搞人人插人人操| 亚州熟女乱伦| 国产强奸无码乱伦| 高清有码一区二区| 久久精品国产亚洲5555| 99久久无码| 午夜精品久久一区二区| 四虎国产精品永久在线囯在线| se..亚洲欧美| 乱伦熟女论坛| 亚洲婷婷综合网| 性videos欧美熟妇hdx| 精品国产乱码久久久| 91精品无码人妻系列| 亚洲超碰97| 1000午夜黄色| 日日日骚女人精品| 国产suv精品一区二区四区999| 亚洲成av人片色午夜乱码| 操逼操逼逼操操逼91| 精品人妻av在线播放| 久久精品| 伊人四虎综合| 亚洲精品蜜桃久久久久久久| 日韩精品影视| 亚洲图片偷拍欧美| 猛猛干| 东京热男人的天堂| 日本熟女免费視颖| 国产精品制服丝袜清纯唯美| 大香蕉综合| 亚洲少妇色| 天天干天天日天天射黄色片| 福利天堂| 国产精品日日摸天天碰| 91香蕉国产尤物视频| 国内毛片无遮挡国产| 精品成人动漫一区二区| 国产少妇肉丝在线观看| 欧美视频中文字幕区| 凹凸视频在线观看伊人| 中国一区二区亚洲人妻| 激情五月天色播| 综合网久久| 美女爽爽爽刺痛洞洞| 人妻丝袜日本| 综合操逼| 99人人干| 日本欧美一区二区三区视频麻豆| 国产亚洲精品玖玖玖在线观看| 国内精品伊人久久久久影院会| 乱日视频| 熟妇国产免费一区| 91丝袜在线观看| 中日亚韩免费视频| 国产成人资源| 亚洲男人天堂2013| 乱伦强奸区日韩| 超碰成人公开| 99999久久久久9国产精品| 欧美日韩免费专区在线| 亚洲天堂久| 欧美一区二区三区四区综合| 欧美日韩第一页| av麻豆啪啪| 久久老熟女| 久久亚洲AV无码专区国产精品| 夜夜一区二区| 日日干日日摸| 中字幕人妻一区二区三区| 淫妻综合网| 97国产天堂岛| 国产剧情在线| 六月色色| 中文字幕人乱码中文字的预防方法 | 97国产精选| av在线播放国产一区| 97超级久久强资源| 久久久九九| 精品国产人成在线| 热天堂一区二区| 夜色91| 网页导航五月天免费一二三区| 精品一区二区三区最新| 先锋女优在线观看视频| 婷婷丁香五月天综合东京热| av麻豆啪啪| 操逼操逼操| 一区二区你上我| 88在线一区二区三区| 精品一啪| 亚洲第二页| 风流老熟女一区二区三区l| 日日干男人的天堂| 欧美性爱日韩高清| 欧美激情亚洲色图| 伊人麻豆传媒| 国产按摩一区二区三区| 欧美AB在线| 99这里有精品| 97视频免费播放| 五月婷婷基地| 一本色道久久综合精品婷婷| 翔田千里AⅤHD无码| 中文97国产| 911av网站免费观看| 熟女天天干| 久久亚洲AV无码专区首页| 欧美亚洲系列| 日日爽夜夜爽| 精品超碰色| 看一级黄色视频| 日本在线伊人啪啪| 婷婷导航| 欧美黄色手机在线观看| 国产欧美一区二区| 91国产操逼视频| 久久久99999久网站| 精品中文字幕第一页| 一级黄碟| 久久鲁干| 91综合网站| 最新精品久久蜜桃 | 伊人操| 天天看特黄的免费网站| 在线中文字幕极品av| 碰人碰碰人人开房人肉| 大香蕉啪啪网| 嗯嗯啊啊操我| 九九九九免费高| 熟女突然公开看18禁影片| 日本三级精品| 欧美性暴力猛交XXXX| 日韩综合无码色欲vv| 91精品久久久久久| 乱日视频| 十八禁av无码免费网站APP| 91精品久久久久久| 高清无码网址| 艹精品| 日日躁夜夜躁狠狠躁超爽| 韩国一区二区精品亚洲| 琪琪精品免费一区二区三区| 国产精品久久久久久9999| 久久久久13| 国产精品久久久久久久毛片1| 色与欲影视天天看综合网| 大香蕉 222| 午夜120视频在线观看| 超碰在线一区二区三区| 999 久久久| 亚洲资源网| 乱码人妻一区二区三区| 国产精品一区av在线| 91国产丝袜白虎| 性色乱AV一区二区| 8050无码八戒| 97操| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 熟妇高潮精品一区二区三区下载| 亚洲 欧美 日本 国内 首页| 久久亚洲影院一区二区| 国内精品a| 天天干人妻视频| 欧美亚洲厕所精品偷拍91| 亚洲色综合| 韩国成人精品久久久免费看| 精品78| 龙兴卡官方查询| 亚洲av热热色| www.99热| 欧美精品99久久久**| 青青操国产夫妻| 久久超碰98| 爱爱动态120秒| 黄色小视频日本txt| 欧美91在线| 久久是精品| 妇女视频网站| 久久精品一区二区三区不卡| 熟女乱伦A| 三级AV入口| 欧美日韩插逼视频| 亚洲男人在线观看天堂| 看看日B真人视频| 校园春色亚洲无码| 刺激性视频黄页| 91天天日| 91美女视屏| 大香蕉九九| 狠狠狠狠狠干| 久操操AV电影| 日本久久女同性恋视频| 色图综合网| 欧美情色亚洲| 久久久性爱| 黄页| 国产精品电影推荐| 男人的天堂色偷偷青青草视频婷婷网| 丁香五月激情综合| 日韩AV一起草| 亚洲五码一区二区三区| 亚欧性爱无码| 第四色奇米影视777| 大香蕉人妻| 超碰97在线中文| 操操操操操操| 97精品视频免费| 天堂射| 国产亚洲欧洲在线观看| 日韩 欧美 校园一区| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 麻豆久久视频在线地址| 内射白嫩美女| 久久婷婷精品| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 东京热亚洲一区二区| 国模吧 一区二区三区|