99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Atlas 300V 24G昇騰AI推理卡部署YOLO完整實(shí)戰(zhàn)指南

Atlas 300V 24G昇騰AI推理卡部署YOLO完整實(shí)戰(zhàn)指南 手里同時(shí)插著A100和Atlas 300V Pro 24G的人大概都聽過這個(gè)靈魂拷問Atlas 300V 24G到底算不算運(yùn)算加速卡答案是算而且很能算。這塊卡雖然經(jīng)常被歸類到“視頻解析”產(chǎn)品線里但內(nèi)核是華為昇騰310P AI處理器24GB大內(nèi)存拿來跑YOLO系列模型是再常見不過的玩法。很多人第一次拿到它對(duì)著npu-smi里的“Video Card”字樣一臉懵以為買錯(cuò)了卡。這篇文章不繞彎子直接圍繞Atlas 300V 24G把硬件規(guī)格、CANN工具鏈、YOLO模型轉(zhuǎn)換、ACL推理以及我實(shí)際踩過的坑一條條講清楚。不管你是剛?cè)腴T的算法工程師還是要給服務(wù)器配推理卡的運(yùn)維老手看完應(yīng)該都能少走不少彎路。1. Atlas 300V 24G到底是什么先回答“是不是運(yùn)算加速卡”1.1 一張圖看懂硬件參數(shù)與定位先給結(jié)論Atlas 300V 24G常見型號(hào)為Atlas 300V Pro 24GB是華為昇騰生態(tài)里的一塊AI推理加速卡核心是昇騰310P處理器不是純視頻卡。只不過它板載了DVPP視頻編解碼硬件單元能做H.264/H.265的硬件解碼所以經(jīng)常被塞進(jìn)視頻分析服務(wù)器里導(dǎo)致很多人以為它只是視頻轉(zhuǎn)碼卡。參數(shù)層面我直接說大家最關(guān)心的幾項(xiàng)項(xiàng)目常見標(biāo)稱參數(shù)備注核心芯片昇騰310P系列AI推理專用板載內(nèi)存24GB LPDDR4X不是HBM但容量和帶寬都?jí)蛴眯螒B(tài)半高半長(zhǎng)PCIe卡單槽位普通服務(wù)器能插功耗典型幾十瓦級(jí)別遠(yuǎn)低于同顯存游戲卡PCIePCIe 3.0 x16部分機(jī)型x8看服務(wù)器型號(hào)視頻能力支持H.264/H.265硬件解碼和AI推理并行不沖突推理精度FP16/INT8為主YOLO這類模型主力精度這里有個(gè)容易混淆的點(diǎn)華為昇騰產(chǎn)品線里有好多帶“Atlas 300”的名字比如300I Pro、300V Pro、300V Mega等。300V系列偏視頻和視覺計(jì)算300I系列偏通用推理。但無論哪個(gè)它們的本質(zhì)都是AI加速卡核心邏輯是一樣的。所以說“Atlas 300V 24G是運(yùn)算加速卡嗎”答案是肯定的它具備了完整的AI計(jì)算加速能力。1.2 它和“純推理卡”“游戲顯卡”有什么不一樣很多人習(xí)慣用顯卡思維看這塊卡顯存24GB那應(yīng)該能跑大模型吧這里要潑一盆冷水。Atlas 300V 24G不是通用GPGPU不能拿CUDA那套直接懟上去。它需要專門的CANN工具鏈模型要轉(zhuǎn)成昇騰的om格式才能跑。同樣跑YOLO在NVIDIA卡上是PyTorch直接調(diào)用CUDA在Atlas上是先導(dǎo)出ONNX、再做ATC離線轉(zhuǎn)換、再用ACL接口加載推理。多了一道工序但也換來了兩個(gè)好處一是轉(zhuǎn)換后的om模型是靜態(tài)編譯的推理路徑優(yōu)化得比較狠實(shí)際性價(jià)比不低二是卡本身功耗極低一臺(tái)服務(wù)器可以塞好幾塊做成高密度推理節(jié)點(diǎn)。另外要注意Atlas 300V 24G的內(nèi)存和顯存有區(qū)別。它雖然是24GB但跑的是AI算子數(shù)據(jù)不能像系統(tǒng)內(nèi)存那樣隨意讀寫也不支持CUDA里的統(tǒng)一虛擬內(nèi)存。所有輸入輸出數(shù)據(jù)都要通過ACL接口主動(dòng)搬運(yùn)到設(shè)備側(cè)或者用內(nèi)存映射方式做零拷貝這個(gè)細(xì)節(jié)后面實(shí)操部分會(huì)講。1.3 為什么那么多人搜“是不是運(yùn)算加速卡”這個(gè)問題被反復(fù)搜索背后是有原因的。很多人從云廠商或者二手市場(chǎng)拿到這塊卡第一件事就是插到機(jī)器上看系統(tǒng)識(shí)別。結(jié)果npu-smi昇騰的顯卡信息工具顯示一堆“Processing Unit”信息但主板上沒有顯示輸出接口也沒有風(fēng)扇狂轉(zhuǎn)和印象里的“顯卡”完全不一樣。加上Atlas 300V Pro 24GB的官方定位是“智能視頻加速卡”包裝、文檔、驅(qū)動(dòng)管理界面都強(qiáng)調(diào)視頻能力這就讓不少人懷疑自己是不是買到了“視頻采集卡”。實(shí)際情況是視頻解碼只是它的一部分能力AI推理才是重頭戲。DVPP硬件解碼出來的畫面可以直接喂給AI算子省掉了從CPU繞一圈的搬運(yùn)開銷這正是它在視頻分析場(chǎng)景里特別強(qiáng)的原因。所以不要再糾結(jié)它是不是運(yùn)算加速卡它的AI算力就是為了讓YOLO這類模型能低成本、高吞吐地跑起來。1.4 這塊卡適合誰來用結(jié)合我自己的使用經(jīng)驗(yàn)Atlas 300V 24G特別適合三類場(chǎng)景視頻分析項(xiàng)目攝像頭流接入DVPP硬解后直接推理典型的就是人車物檢測(cè)、安全帽識(shí)別、煙火檢測(cè)這類YOLO落地場(chǎng)景。高密度推理服務(wù)器一張卡幾十瓦四卡、八卡堆在一起機(jī)箱散熱壓力小機(jī)房電費(fèi)也扛得住。國產(chǎn)化部署項(xiàng)目需要用到昇騰平臺(tái)的場(chǎng)合用這塊卡做模型落地。不太適合的人群是想“零成本遷移CUDA代碼”的開發(fā)者。昇騰有自己的編程范式ACL也好、MindSpore Lite也好都要重新適應(yīng)。不過好消息是只要你能把模型導(dǎo)出成ONNX基本都能轉(zhuǎn)成om模型跑起來。2. 部署YOLO的整體思路從PyTorch權(quán)重到昇騰om模型2.1 昇騰推理的基本鏈路先理清楚在Atlas上跑YOLO的大流程后面才不會(huì)亂PyTorch訓(xùn)練權(quán)重 / 官方權(quán)重導(dǎo)出為ONNX用ATC工具Ascend Tensor Compiler轉(zhuǎn)為om模型編寫ACL推理程序加載om模型輸入圖像或視頻流做預(yù)處理執(zhí)行離線推理后處理解碼、NMS等輸出檢測(cè)結(jié)果這個(gè)過程里最核心的兩件事就是“模型轉(zhuǎn)換”和“推理代碼”。模型轉(zhuǎn)換決定模型能不能跑、跑得順不順推理代碼決定能不能把硬件性能吃滿。我記得第一次接觸昇騰時(shí)以為和TensorRT一樣裝好驅(qū)動(dòng)直接有個(gè)類似trtexec的工具就能測(cè)。實(shí)際用下來發(fā)現(xiàn)CANN生態(tài)里最常用的測(cè)速工具是ais_bench模型轉(zhuǎn)換和推理的性能優(yōu)化都圍繞它展開。先把這條鏈路走通再談?wù){(diào)優(yōu)。2.2 方案選型ATC pyACL還是MindSpore Lite昇騰上跑YOLO有好幾種姿勢(shì)最主流的是ATC離線轉(zhuǎn)換 pyACLAscendCL的Python接口其次是MindSpore Lite。還有直接用MindIE、MindX SDK的但那是更上層的東西適合做完整流水線調(diào)試起來沒那么直觀。我個(gè)人建議大多數(shù)場(chǎng)景選ATC pyACL理由有三點(diǎn)ATC轉(zhuǎn)換om模型時(shí)做了大量圖優(yōu)化和算子融合模型一旦轉(zhuǎn)好運(yùn)行開銷小。pyACL接口簡(jiǎn)單直接加載、執(zhí)行、取結(jié)果非常透明出了問題好定位。MindSpore Lite雖然也支持轉(zhuǎn)模型但版本兼容性問題比ATC多一些尤其是YOLO這種要用到自定義后處理的場(chǎng)景不如ACL靈活。當(dāng)然如果團(tuán)隊(duì)主技術(shù)棧就是MindSpore那就用MindSpore Lite。不過以我接觸的項(xiàng)目看大部分人的模型都是PyTorch訓(xùn)練出來的走ONNX ATC明顯最順。2.3 環(huán)境準(zhǔn)備驅(qū)動(dòng)、固件、CANN工具包部署環(huán)境這塊是最容易出問題的照著官方文檔也可能翻車。我的建議是按順序來裝驅(qū)動(dòng)和固件Ascend HDK讓系統(tǒng)能識(shí)別到卡。裝完后用npu-smi info查看能看到卡就說明基礎(chǔ)鏈路通了。裝CANN toolkit下載和驅(qū)動(dòng)版本配套的包安裝到/usr/local/Ascend/ascend-toolkit。source環(huán)境變量source /usr/local/Ascend/ascend-toolkit/set_env.sh驗(yàn)證編譯環(huán)境atc --version這里面最大的坑是版本配套。驅(qū)動(dòng)、固件、CANN三者的版本號(hào)得互相兼容官方每年都有配套表。我有一次直接裝了最新CANN結(jié)果驅(qū)動(dòng)還是半年前的老版本ATC轉(zhuǎn)模型時(shí)報(bào)了一堆“so文件找不到”折騰了兩天才發(fā)現(xiàn)是驅(qū)動(dòng)太老CANN里編譯生成的算子加載到設(shè)備上失敗。建議先到華為官網(wǎng)找到對(duì)應(yīng)型號(hào)的驅(qū)動(dòng)/固件包看它推薦的CANN版本范圍再按那個(gè)范圍裝工具包不要盲目追新。裝好后盡量用一個(gè)固定版本至少要把驅(qū)動(dòng)和CANN版本記錄下來方便以后排查。2.4 模型轉(zhuǎn)換前的準(zhǔn)備導(dǎo)出干凈的ONNX在轉(zhuǎn)om之前先把YOLO模型導(dǎo)出成ONNX。這一步看似簡(jiǎn)單其實(shí)決定了后面ATC能不能一次通過。以YOLOv5為例推薦用官方倉庫自帶的導(dǎo)出腳本python export.py --weights yolov5s.pt --include onnx --opset 11幾個(gè)關(guān)鍵點(diǎn)opset版本不要太高11到13之間最穩(wěn)。我試過opset17ATC轉(zhuǎn)換時(shí)報(bào)過不少算子兼容問題降到11直接通過。導(dǎo)出時(shí)把NMS去掉只保留主干輸出。NMS放在CPU上做或者用昇騰的融合NMS算子單獨(dú)處理混在模型里會(huì)讓轉(zhuǎn)換失敗概率大增。固定輸入尺寸。YOLOv5默認(rèn)640×640直接用即可。不要一開始就搞動(dòng)態(tài)shape先固定尺寸跑通后面需要再改。導(dǎo)出后的ONNX可以用Netron看一下輸出節(jié)點(diǎn)確認(rèn)輸出的維度形態(tài)。YOLOv5一般是三個(gè)特征層輸出或者一個(gè)concat后的張量后續(xù)寫后處理要對(duì)著這個(gè)結(jié)構(gòu)來。有一點(diǎn)要提醒如果你的模型是YOLOv8、YOLOv9這類更晚的版本導(dǎo)出ONNX時(shí)同樣建議關(guān)掉NMS。YOLOv8的detect頭輸出結(jié)構(gòu)是 (1, 84, 8400) 這種形態(tài)后處理邏輯和YOLOv5不一樣但ATC轉(zhuǎn)換的思路完全一致。3. YOLO模型轉(zhuǎn)換實(shí)操ATC參數(shù)、AIPP與后處理策略3.1 ONNX轉(zhuǎn)OM的命令詳解環(huán)境準(zhǔn)備好、ONNX也導(dǎo)出完成之后就該用ATC把模型轉(zhuǎn)成om格式了。下面這條命令是我最常用的YOLOv5轉(zhuǎn)換命令字段逐一說明atc --modelyolov5s.onnx \ --framework5 \ --outputyolov5s_bs4 \ --input_shapeimages:4,3,640,640 \ --soc_versionAscend310P3 \ --insert_op_confaipp.cfg \ --output_typeFP16 \ --logerror--framework55表示ONNX。這個(gè)數(shù)字別記反Caffe是0MindSpore是1TensorFlow是3ONNX就是5。--input_shape把輸入節(jié)點(diǎn)的shape固定下來。這里的images要和ONNX里的輸入名完全一致先用Netron查或者用python -c import onnx; monnx.load(yolov5s.onnx); print([i.name for i in m.graph.input])查看。--soc_version目標(biāo)芯片類型一定要和實(shí)際卡匹配。Atlas 300V Pro 24GB對(duì)應(yīng)的是Ascend310P系列具體是Ascend310P1還是Ascend310P3最好用npu-smi info查。最后一行會(huì)顯示AI芯片信息按那個(gè)填。--insert_op_confAIPP預(yù)處理配置后面詳細(xì)說。--output_type模型輸出類型設(shè)成FP16可以減少內(nèi)存占用推理速度也有提升。但要注意后處理里如果對(duì)精度敏感需要驗(yàn)證一下。--logerror只打錯(cuò)誤日志。初次轉(zhuǎn)換建議去掉或者設(shè)成--logdebug看得更細(xì)。轉(zhuǎn)換成功的標(biāo)志是生成了.om文件并且日志里出現(xiàn)類似“Run atc successfully”的信息。如果失敗先看是不是soc_version不對(duì)這個(gè)報(bào)錯(cuò)最常見——不同芯片的算子庫不一樣填錯(cuò)就轉(zhuǎn)不過去。3.2 AIPP預(yù)處理配置把歸一化、減均值交給硬件AIPP是昇騰的AI預(yù)處理模塊它可以在推理前自動(dòng)完成圖像縮放、格式轉(zhuǎn)換、減均值、歸一化這些操作省去CPU或GPU上做預(yù)處理的時(shí)間。YOLOv5的歸一化是除以255對(duì)應(yīng)配置如下aipp_op { aipp_mode: static input_format: RGB888_U8 csc_switch: false mean: 0.0 0.0 0.0 min: 0.0 0.0 0.0 max: 255.0 255.0 255.0 }這個(gè)配置的意思是輸入圖像是RGB排列、8位無符號(hào)整型然后數(shù)據(jù)直接除以255min為0、max為255時(shí)計(jì)算方式是把像素值映射到[0,1]區(qū)間不做色彩空間轉(zhuǎn)換。注意幾個(gè)細(xì)節(jié)很多圖像讀出來是BGR格式OpenCV默認(rèn)如果模型訓(xùn)練時(shí)用的是RGBAIPP里要不做csc要不就是input_format: BGR888_U8然后在模型里期望RGB。搞反了會(huì)導(dǎo)致檢測(cè)結(jié)果嚴(yán)重變差邊界框亂飛但loss不高這種問題最隱蔽。csc_switch控制是否做顏色空間轉(zhuǎn)換默認(rèn)是true。如果你的輸入已經(jīng)是目標(biāo)格式關(guān)掉它避免多一道轉(zhuǎn)換。AIPP里其實(shí)還可以做縮放但YOLO推理前通常會(huì)在CPU端做letterbox保持寬高比縮放后補(bǔ)邊不建議在AIPP里直接做仿射變換否則容易影響坐標(biāo)映射回原圖。AIPP是個(gè)好東西但它和服務(wù)端縮放邏輯是耦合的一定要讓前后處理團(tuán)隊(duì)對(duì)同一套參數(shù)。我見過太多項(xiàng)目因?yàn)锳IPP配置和Python預(yù)處理不一致導(dǎo)致精度下降而不自知。3.3 固定Shape還是動(dòng)態(tài)ShapeYOLO場(chǎng)景里輸入尺寸一般是固定的比如640×640所以強(qiáng)烈建議先用固定Shape。固定Shape的好處是ATC能極致優(yōu)化內(nèi)存布局和算子融合吞吐更高而且動(dòng)態(tài)Shape在昇騰上涉及動(dòng)態(tài)Batch、動(dòng)態(tài)分辨率等多套配置API調(diào)用也復(fù)雜不少。如果你確實(shí)需要?jiǎng)討B(tài)Batch可以在ATC命令里這樣寫--input_shapeimages:-1,3,640,640 --dynamic_batch_size1,2,4,8直白說動(dòng)態(tài)Batch需要申請(qǐng)多組內(nèi)存池實(shí)際用起來要處理“當(dāng)前實(shí)際batch是多大”的問題邏輯復(fù)雜但收益是能按業(yè)務(wù)流量隨時(shí)調(diào)整吞吐適合視頻流并發(fā)波動(dòng)大的場(chǎng)景。先跑通固定Batch1再考慮動(dòng)態(tài)。我的習(xí)慣是起步階段直接用固定Batch1部署驗(yàn)證功能上線前再測(cè)一下Batch4或Batch8的吞吐提升如果提升明顯就切到固定Batch。注意固定Batch4意味著不管實(shí)際來幾張圖都要湊夠4張才能推理視頻流場(chǎng)景可能反而增加延遲。要根據(jù)業(yè)務(wù)取舍。3.4 輸出節(jié)點(diǎn)與YOLO后處理方案YOLO模型轉(zhuǎn)om后輸出可能是幾個(gè)特征圖拿YOLOv5來說如果不做融合會(huì)得到三個(gè)輸出維度分別是 (1, 3, 80, 80, 85)、(1, 3, 40, 40, 85)、(1, 3, 20, 20, 85)其中85是(x, y, w, h, obj_conf, cls1~cls80)。如果導(dǎo)出時(shí)把三個(gè)head concat了就是 (1, 25200, 85) 一個(gè)輸出。在Atlas上跑的時(shí)候建議按concat后的單個(gè)輸出來處理代碼簡(jiǎn)單。如果轉(zhuǎn)出來是三個(gè)獨(dú)立的輸出節(jié)點(diǎn)可以在ATC命令里用--out_nodes把它們拼一下或者直接在Python后處理里分別解析。后處理NMS建議放在CPU側(cè)執(zhí)行。具體流程是取模型輸出按閾值過濾低置信度框。將特征圖坐標(biāo)映射回原圖坐標(biāo)這一步要把letterbox的pad和scale算進(jìn)去。按類別做NMS比如用OpenCV的cv2.dnn.NMSBoxes或者手寫一個(gè)簡(jiǎn)單的NMS。有的項(xiàng)目要求極致低延遲后處理全部在C里做Python版本可以先用sklearn或torch自帶NMS頂上效果一致。我個(gè)人比較推薦把NMS放到和設(shè)備推理并行的線程里用生產(chǎn)者-消費(fèi)者模型推理完只管把原始輸出丟給后處理隊(duì)列能省下不少耗時(shí)。4. 在Atlas 300V 24G上跑通YOLO推理ACL代碼核心4.1 初始化Device與Context昇騰ACL的編程模型和CUDA很像先初始化再定設(shè)備建Context和Stream。下面是Python版本的骨架import acl import numpy as np ACL_MEM_MALLOC_NORMAL_ONLY 2 ACL_MEMCPY_HOST_TO_DEVICE 1 ACL_MEMCPY_DEVICE_TO_HOST 2 def setup_device(): ret acl.init() assert ret 0, facl.init failed: {ret} ret acl.rt.set_device(0) assert ret 0, fset_device failed: {ret} context acl.rt.create_context(0) ret acl.rt.create_stream() assert ret 0 return context這里acl.rt.set_device(0)表示使用第0張卡。如果機(jī)器上有多個(gè)卡可以通過npu-smi info查看設(shè)備編號(hào)。需要注意每次進(jìn)程結(jié)束要調(diào)用acl.finalize()否則會(huì)造成設(shè)備資源泄漏下次加載模型時(shí)可能莫名報(bào)錯(cuò)“acl.rt.malloc failed”。4.2 加載模型、準(zhǔn)備輸入輸出模型加載用acl.mdl.load_from_file返回一個(gè)model_id。之后通過描述符拿到輸入和輸出的大小再申請(qǐng)?jiān)O(shè)備側(cè)內(nèi)存model_id acl.mdl.load_from_file(yolov5s_bs4.om) input_desc acl.mdl.get_input_desc(model_id) output_desc acl.mdl.get_output_desc(model_id) # 這里要根據(jù)實(shí)際輸入shape計(jì)算假設(shè)batch4, 3, 640, 640 input_size 4 * 3 * 640 * 640 * 4 # float324字節(jié) output_size 4 * 25200 * 85 * 4 data_buf, ret acl.rt.malloc(input_size, 2) out_buf, ret acl.rt.malloc(output_size, 2)2是內(nèi)存對(duì)齊參數(shù)通常傳acl.const.MEMORY_ALIGNMENT一般就是64字節(jié)對(duì)齊。很多人在申請(qǐng)內(nèi)存時(shí)忽略對(duì)齊可能導(dǎo)致拷貝失敗或推理輸出錯(cuò)位建議統(tǒng)一用標(biāo)準(zhǔn)對(duì)齊值。準(zhǔn)備輸入數(shù)據(jù)時(shí)要把預(yù)處理好的圖像數(shù)組拷貝到設(shè)備側(cè)host_data np.ascontiguousarray(preprocessed_img).astype(np.float32) # 先取到host端的數(shù)據(jù)指針 host_data_ptr acl.util.numpy_to_ptr(host_data) ret acl.rt.memcpy(data_buf, input_size, host_data_ptr, input_size, ACL_MEMCPY_HOST_TO_DEVICE)注意輸入數(shù)據(jù)的形狀、數(shù)據(jù)類型要和ATC轉(zhuǎn)換時(shí)--input_shape以及AIPP配置匹配。比如AIPP配置里寫input_format: RGB888_U8那host_data可以是uint8三通道圖如果AIPP只做歸一化而格式由你自己控制那host_data就按你的實(shí)現(xiàn)來。4.3 執(zhí)行推理與結(jié)果回傳執(zhí)行推理就一行ret acl.mdl.execute(model_id, [data_buf], [out_buf])這個(gè)調(diào)用是同步的執(zhí)行完結(jié)果直接就在out_buf里了。如果想異步需要自己建stream并傳入相關(guān)接口或者在一個(gè)線程里交替執(zhí)行。初始階段先用同步調(diào)用跑通后再考慮異步優(yōu)化。從設(shè)備側(cè)把結(jié)果拷回hostout_host np.zeros((4 * 25200 * 85,), dtypenp.float32) out_host_ptr acl.util.numpy_to_ptr(out_host) ret acl.rt.memcpy(out_host_ptr, output_size, out_buf, output_size, ACL_MEMCPY_DEVICE_TO_HOST) outputs out_host.reshape(4, 25200, 85)到這里模型推理的部分就跑完了剩下的就是把outputs按YOLO的方式解碼、過濾、NMS。4.4 多路并發(fā)與性能優(yōu)化方向Atlas 300V 24G的算力不小單線程同步推理會(huì)浪費(fèi)硬件。我的做法是把推理拆成幾個(gè)環(huán)節(jié)并行主線程負(fù)責(zé)采集/讀取圖像做letterbox和歸一化。推理線程持有model_id循環(huán)從隊(duì)列里取批數(shù)據(jù)執(zhí)行acl.mdl.execute。后處理線程接收原始輸出做解碼和NMS。要實(shí)現(xiàn)多batch最直接的方式是攢夠batch個(gè)數(shù)再推理。比如固定batch4就攢4張圖同時(shí)塞進(jìn)去。這樣吞吐上去了但要注意延遲會(huì)跟著漲適合視頻流批量檢測(cè)場(chǎng)景。更高級(jí)的優(yōu)化是使用多個(gè)stream同時(shí)跑幾個(gè)acl.mdl.execute。但Atlas 300V 24G上的硬件隊(duì)列資源有限stream不是越多越好我一般用2~4個(gè)stream測(cè)試實(shí)際收益。如果發(fā)現(xiàn)CPU占用高、設(shè)備利用率上不去問題多半出在數(shù)據(jù)拷貝上可以嘗試用acl.rt.mem_alloc申請(qǐng)帶device端uva的內(nèi)存實(shí)現(xiàn)零拷貝映射避免每幀都做H2D拷貝。5. 實(shí)測(cè)性能與調(diào)優(yōu)心得5.1 用ais_bench先做基準(zhǔn)測(cè)試不要一上來就寫完整工程先拿工具測(cè)模型底數(shù)。CANN自帶ais_bench用起來很簡(jiǎn)單ais_bench --modelyolov5s_bs4.om --input./input_bin --output./out --batchsize4它會(huì)把推理耗時(shí)、吞吐非常清楚打出來。得到benchmark數(shù)后再和你自己的代碼對(duì)比。如果自己的代碼比ais_bench慢很多說明預(yù)處理或拷貝環(huán)節(jié)有瓶頸。我第一次跑YOLOv5s 640×640時(shí)ais_bench顯示單batch延遲在個(gè)位數(shù)毫秒級(jí)別批處理反而在內(nèi)存拷貝上浪費(fèi)了大量時(shí)間。后來發(fā)現(xiàn)是每次都用np.ascontiguousarray強(qiáng)制復(fù)制輸入數(shù)據(jù)格式本身就不連續(xù)。改完直接讓輸入數(shù)據(jù)從創(chuàng)建開始就是按C-contiguous生成省掉這一次拷貝延遲立刻下來一截。5.2 影響吞吐的3個(gè)隱藏因素很多人在Atlas上跑YOLO明明模型轉(zhuǎn)換沒問題設(shè)備也沒報(bào)錯(cuò)但吞吐就是上不去。就我的經(jīng)驗(yàn)多半是卡在這三個(gè)地方第一輸入數(shù)據(jù)排列。YOLO模型輸入是NCHW也就是batch、channel、height、width。如果從視頻幀直接resize出來是NHWCOpenCV默認(rèn)就是HWC需要做一次transpose。這個(gè)transpose如果放在host端Python里做會(huì)非常耗時(shí)建議通過AIPP配置把NHWC轉(zhuǎn)成NCHW或者在C側(cè)做更高效的內(nèi)存重排。第二內(nèi)存申請(qǐng)與釋放。Python側(cè)耗時(shí)大頭經(jīng)常是每幀都調(diào)用acl.rt.malloc和acl.rt.free。這兩個(gè)操作會(huì)觸發(fā)設(shè)備側(cè)內(nèi)存管理器開銷不小。正確做法是程序啟動(dòng)時(shí)一次性把需要用到的內(nèi)存池申請(qǐng)好后續(xù)復(fù)用buffer。第三模型輸出量太大。YOLOv5的輸出是25200×85即使只有少量目標(biāo)也要搬回完整張量。如果數(shù)據(jù)量冗余嚴(yán)重可以在ATC轉(zhuǎn)換時(shí)修改輸出節(jié)點(diǎn)只保留需要的輸出層或者在模型導(dǎo)出時(shí)保留concat后的單輸出減少host端解析壓力。5.3 顯存/內(nèi)存優(yōu)化技巧24GB內(nèi)存對(duì)于YOLOv5這種量級(jí)的模型來說非常寬裕但大批次并發(fā)時(shí)還是會(huì)遇到內(nèi)存碎片問題。我建議用固定buffer池。所有輸入輸出buffer在進(jìn)程啟動(dòng)時(shí)分配一次推理循環(huán)里反復(fù)使用不做額外申請(qǐng)和釋放。batch和stream數(shù)量要做組合測(cè)試。比如batch8配stream1和batch4配stream2前者延遲高但吞吐可能持平后者響應(yīng)更均勻。根據(jù)自己的延遲要求選。如果同時(shí)跑多個(gè)模型可以給不同模型分配不同device編號(hào)避免模型加載時(shí)反復(fù)動(dòng)態(tài)申請(qǐng)?jiān)O(shè)備內(nèi)存。一個(gè)容易被忽略的點(diǎn)是Atlas 300V 24G的板載內(nèi)存雖然叫“24G”但不是全部都能當(dāng)顯存隨便用。運(yùn)行時(shí)會(huì)有一部分被驅(qū)動(dòng)、上下文、算子緩存占用。所以計(jì)算可用內(nèi)存時(shí)不要卡著24GB規(guī)劃留出15%~20%余量免得跑長(zhǎng)業(yè)務(wù)后內(nèi)存越用越少最終報(bào)“out of memory”。6. 常見問題與排查實(shí)錄6.1 從報(bào)錯(cuò)看問題我踩過的幾個(gè)典型坑先說模型轉(zhuǎn)換階段的經(jīng)典報(bào)錯(cuò)E10016: Load model failed。這個(gè)多數(shù)是CANN環(huán)境沒配對(duì)要么驅(qū)動(dòng)太老要么set_env.sh沒source。我的排查順序是先source環(huán)境變量再跑atc --version如果版本顯示正常再查驅(qū)動(dòng)和CANN配套表。轉(zhuǎn)換報(bào)“Unsupported operator”或者“Parse onnx model failed”。這種情況十有八九是ONNX里帶了不支持的算子。我遇到過YOLOv5s用opset17導(dǎo)出后在ATC里報(bào)降到11就通過了。也有模型帶了一些后處理比如NonMaxSuppression直接在導(dǎo)出時(shí)關(guān)掉。轉(zhuǎn)換成功但推理輸出全是0或全是一個(gè)常數(shù)。這個(gè)要優(yōu)先檢查AIPP配置。常見原因是BGR/RGB格式寫反或者歸一化參數(shù)不對(duì)??梢杂靡粡埣兩珗D做端到端測(cè)試看輸出是否在期望范圍。推理階段也有幾個(gè)高頻問題報(bào)錯(cuò)里帶“rtMalloc”字樣的除了內(nèi)存不足還可能是buffer大小計(jì)算錯(cuò)誤。比如輸入為uint8你按float32申請(qǐng)了4倍大小雖然不報(bào)錯(cuò)但拷貝的內(nèi)容錯(cuò)位。反過來如果按uint8申請(qǐng)但ATC里input_shape默認(rèn)數(shù)據(jù)類型是FP32推理時(shí)數(shù)據(jù)會(huì)被解釋錯(cuò)。用Python接口時(shí)最鬧心的是偶發(fā)段錯(cuò)誤或者進(jìn)程崩潰。這類問題大多和numpy數(shù)組生命周期有關(guān)。你的numpy數(shù)組被垃圾回收了但設(shè)備側(cè)的data_buf還指向它再執(zhí)行時(shí)就會(huì)炸。解決方法是讓存放輸入數(shù)據(jù)的numpy數(shù)組保持引用直到推理完成或者直接用acl自帶的內(nèi)存接口管理生命周期。6.2 常見問題速查表癥狀可能原因解決辦法npu-smi看不到卡驅(qū)動(dòng)沒裝好/固件不匹配重裝驅(qū)動(dòng)和固件確認(rèn)板卡供電與PCIe插槽ATC報(bào)soc版本不識(shí)別芯片類型填錯(cuò)npu-smi info查到型號(hào)按實(shí)際填寫ATC報(bào)so文件缺失環(huán)境變量沒source執(zhí)行source set_env.sh轉(zhuǎn)換失敗算子不支持ONNX版本/torch導(dǎo)出方式問題嘗試opset11去掉NMS推理結(jié)果全0AIPP格式或數(shù)據(jù)拷貝錯(cuò)誤檢查RGB/BGR、數(shù)據(jù)shape和dtypeacl.rt.malloc失敗內(nèi)存申請(qǐng)過多/泄漏復(fù)用buffer減少動(dòng)態(tài)申請(qǐng)首幀延遲高模型加載時(shí)算子編譯項(xiàng)目啟動(dòng)預(yù)加載模型熱身推理一次6.3 獨(dú)家避坑技巧最后分享幾個(gè)常規(guī)文檔里不會(huì)寫的經(jīng)驗(yàn)都是真金白銀換來的第一模型轉(zhuǎn)換完先別急著自己寫代碼用官方ais_bench或atc自帶的檢查工具驗(yàn)證模型輸出。如果工具測(cè)出來輸出正常那你后處理邏輯寫錯(cuò)就是自己的問題如果工具也異?;究梢枣i定是轉(zhuǎn)換環(huán)節(jié)的配置錯(cuò)誤別讓兩頭背鍋。第二YOLO在CPU上做NMS時(shí)建議用cv2.dnn.NMSBoxes它在Atlas服務(wù)器的x86/ARM架構(gòu)上都很穩(wěn)。不要一上來就上自定義nms算子雖然后續(xù)可以做融合優(yōu)化但調(diào)試成本高不少先跑通再優(yōu)化。第三調(diào)試階段把--logerror改成--logdebug并且保留完整日志文件。昇騰的報(bào)錯(cuò)非常詳細(xì)debug日志里能看到是哪個(gè)算子、哪塊內(nèi)存出了問題。別嫌日志長(zhǎng)關(guān)鍵時(shí)刻能救命。第四電源和散熱。這塊卡功耗雖然不高但機(jī)箱里塞多卡時(shí)供電質(zhì)量直接影響穩(wěn)定性。我在一臺(tái)4卡機(jī)器上遇到過推理幾小時(shí)后偶發(fā)超時(shí)的問題排查到最后是電源功率余量不足導(dǎo)致PCIe鏈路降速。確認(rèn)服務(wù)器電源額定功率至少比整機(jī)算出的功耗高30%。7. 寫在最后的一點(diǎn)個(gè)人經(jīng)驗(yàn)玩Atlas 300V 24G這段時(shí)間最大的體會(huì)是它的使用習(xí)慣和N卡完全不一樣不能拿“裝好驅(qū)動(dòng)直接跑PyTorch”的思路去套但一旦把CANN這條工具鏈理順后續(xù)換模型、上項(xiàng)目都很順。我強(qiáng)烈建議第一次接觸昇騰的朋友找一個(gè)晚上專門把“ONNX → ATC → ais_bench → pyACL”這條鏈路走一遍甚至不用跑YOLO隨便導(dǎo)一個(gè)ResNet試試。把流程跑通信心就有了后面再碰YOLO部署遇到問題心里也有底。如果讓我給剛?cè)腴T的人一個(gè)最實(shí)在的建議先固定Batch1固定640×640輸入CPU端做NMS不要一上來就折騰動(dòng)態(tài)Shape、多stream、融合NMS這些高級(jí)特性。把一條簡(jiǎn)單的路走通再逐步加復(fù)雜度這是我在多個(gè)項(xiàng)目里驗(yàn)證過的最穩(wěn)路徑。Atlas 300V 24G是一塊好卡但好卡也需要對(duì)的打開方式。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色5月婷婷| 日本天堂久久| 五月婷婷深深爱| 3p久久| 丁香六月婷婷| www,色婷婷| 国产毛片精品一区二区色欲黄A片| 九九国产精视频| 超碰在线网站| 91九色欧美| 婷婷五月在线影院| 91综合色噜噜| 久9视频| 五月天另类激情在线| 丁香五月激情视频| 久久9RE热视频精品98| 操九色| 丁香99| 国产性av| 91大神操美女| 五月天婷婷综合久久| 日韩影院三级| 久久无码成人| 噜噜视频| 老司机伊人| 精品人妻久久久久久| 久久婷婷色丁香| www.五月.com| 91视频五月丁香| 国产亚洲精品人人| 丁香五月中文字幕| 中文字幕AV在线播放| av人人操| 影音先锋天天日| 91a片爽| 免费视频WWW在线观看网站| 五月婷婷无码| 欧洲亚洲精品| 婷婷综合| 熟女人妻一区二区三区免费看| 亚洲区视频| 人妻啪啪啪| 色人妻五月| 97人人操| 天天操综合网| 久久久精品99| 五月丁香九九| 99青青草99| 大香蕉五月天| 亚洲V国产V欧美V久久久久久| www.五月丁香| 久久久国产精品黄毛片| 天天操天天插天天射| 欧美成人在线观看| 国产原创视频91九色| 九九爱激情| 麻豆AV一区二区三区| 9l视频自拍9l九色成人| 密着浓厚中出乚交尾GvG935| 大香人妻| 亚洲热手机在线观看| 涩 五月 婷婷 狠狠| 91九色在线观看免费| 97干在线免费| 91无码视频| 五月婷婷啪啪啪| 色婷网| 五月丁香综合| 欧美天天性| 人人综合五月人人婷婷| 99这里只有| 色色性爱视频| 国产av天天插天天操天天爽| 丁香花综合永久入口| 91久久精品视频| 狠狠干狠狠干| 日韩熟女啪啪视频| 九热...av| 日韩综合天堂| 五月天激情网页| 成人视频婷婷| 五月天婷婷綜合院| 一二线视频 另类| 99碰碰碰| 99热思思在线观看| 婷婷六月色开 | 欧美VA视频| 啪啪丁香五月| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色五月综合网| 97五月天婷婷| 超碰资源在线| 九月丁香久久网| 综合玖玖偷拍| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月婷婷激情网| 六月丁香AV| 亚洲综合无码| 99免费视频在线观看爱| 精品人妻一区| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月天伊人综合| 色五月天激情| 午夜九九九九九九| 激情图片婷婷| 激情五月天婷婷| 大香蕉伊人丁香五月| 婷婷的色色五月天| 五月香六月婷| 免费无码毛片一区二区A片| 国产欧美大香蕉一区| 色色色99| 五月色色网| 专区无日本视频高清8| 色五月综合97| 无码 色| 激情深爱五月天| 日本A片一区| 日本99热| 色综合久| 嫩草视频在线观看| 夜夜 操无码| 婷婷丁香五月在线观看91| 色吧五月| 婷婷激情五月综合| 激情六月丁香| 日韩精品999| 久久ri精品| 婷婷六月激情小说网| 久久久这里有精品| 婷婷色五月天色| 色播五月丁香综合| 97精品综合久久| 色情综合| 欧洲激情网站| www.久久| 超碰在线视屏| 亚欧州精品视频| 67194线路二在线观看| 婷婷色婷婷| 五月性色| 人人插9| 天天日天天做天天操| 天天干天天干天天操| 久久婷婷的综合色丁香五月| 欧州色色| 97超碰在线观看免费| 九九视频精品这里只有| 大香蕉久| 天天爱天天做天天舔| 婷婷午夜精品久久久| 99九九99九九九视频精品| 深爱五月激情| 91九色无码内射| 99在线精品视频免费观看20| 波多野结衣AV无码Porn| 五月丁香啪啪综合| 亚洲中文字幕AV| 激情丁香久久| 激情六月一二| 成人短视频免费| 99热精地址| 国产伦亲子伦亲子视频观看| 只有精品视频在线观看| 五月婷视频| 涩涩五月天综合| 另类视频在线| 激情久久久| 99精品在线| www.婷婷五月天.com| 婷婷久久性爱| 色色射| 色综合激情| 亚洲精品视频电影| 亚洲精品网站色视频| 99热99在线| 99视频久久| 婷婷伊人综合中文字幕| www色色色com| 久久五月激情| 日韩婷久| 日日干四虎| 欧美成人精品A片免费一区99| 日韩xx在线| 一本色道久久88加勒比| 五月Huangsewang| 色五月丁香五月婷婷五月成人网| 丁香六月婷婷综合色| 亚洲AV成人在线| 色综合综合色| 极品人妻VIDEOSSS人妻| 99热综合| 亚洲在线播放| 草草视频91| 国产人妻操逼| 日日躁夜夜躁狠狠久久AV| 手机AVAV天堂看网| 久久九⑨| 99久视频| 亚洲无码九九| 色五月综合在线| 开心激情网在线| 五月丁了香蕉综合| 亚洲色区17| 色婷久久| 99热99思午夜精品| 国产永久一黄| 色婷婷电影网| 丁香六月色婷婷| 国产成人在线不卡AV| 婷婷五月丁香综合| 五月婷婷婷婷婷婷艺术| 婷婷丁香五月91| 欧美色图天堂网| 色欲操| 五月婷婷香蕉视频| 影音先锋色婷婷| 久操b网| 激情婷婷狠狠干综合| 色丁香五月天婷婷| 深爱婷婷基地| 99人妻碰碰碰久久久久| AA片在线观看视频在线播放| 人人干99| 婷婷五月丁香网| 玖玖爱综合网| 3DAV亚洲香蕉久久 一区二区| WWW.99视频| 操操操av| www.五月天色色.com| 开心五月婷婷| 丁香久久五月婷综合| Av性爱网| 亚洲欧洲国产精品| 亚洲成人综合网在线免费观看| www.久久久久| 色婷婷五月天偷拍| 亚洲va欧美va国产综合久久久| 日韩精品超碰在线观看| 伊人久久丁香狠狠婷婷综合香蕉| 丁香成人五月天| 丁香色五月婷婷91桃色| 玖玖伦理电影| 日韩欧美一级大黄网站| 一区二区传媒视频| 黄色激情网站在线观看| 五月综合视频| 九九热最新地址| 五月天激情亚洲| 久操b网| 久久久久久18| 天天日日| 久久91久久精品久久| 美女网黄| 天天综合五月天| 丁香六月婷婷高清| 色五月激情问网站| 久操婷婷| 91色涩| 亚州欧美黄色电影| 无码视频国内精品久久久| 色噜噜综合网| 亚洲愉拍99热成人精品| 色综合天天| 色色 9| 久久性爱视频免费| 老司机午夜福利视频金瓶梅| 婷婷色色网| 野外99热| 欧美久人人| 成人无码免费一区二区中文| 99热国品| 香蕉人妻AV久久久久天天| 亚洲欧美综合7777色婷婷| 五月丁香六月婷婷操操操| 五月婷婷免费| 国产美女最新VA在线免费观看| 久久天天天| 五月丁香欧美综合| 91碰| 91精品久久久久久| 99无码视频| 激情综合区| 久婷久婷| 精品久久99码| www久久久| 97干欧美| 婷婷五月天成人五月天| 色色亚洲无码| 亚洲激情五月婷婷日日| 婷婷色系婷色| 久久九九大香蕉电院| 五月婷婷亚洲综合网| 国产乱码久久| 色的色综合| 国产va在线视频| 色色色综合视频| 婷婷欧美激情综合| 99热只有国产在线精品| 91精品久久久久久综合五月天| 99这里只有精品在线观看| 五月天婷婷六月| 最新五月天婷婷影| 婷婷五月天黄色小说| 亚洲 六月 综合| 日韩十国产极品久久| 丁香五月五月婷婷五月天激情四射| 这里只有免费的精品| 深爱激情久久| 国产亚洲精品久久一区二区三区| 丁香九月婷| 国产成人综合网| 色五月 五月婷婷| 丁香五月天堂网| 成人精品视频99在线观看免费| 欧美黑人巨大性生话| 丁香伊人五月色婷婷五十路| 亚洲国产精品VA在线看黑人| Caoporn公开| 热99免费在线| 五月丁香久久精品在线观看| 色五月婷婷激情五月| 999影院成人在线影院| 激情六月日韩| 五月丁香综合啪啪| 精品国产乱码久久久久久免费| 综合色、色综合| 日本久碰| 桃色五月婷婷| 色色色色av色色色色| 日韩精品一品二区三区的使用体验| 99爽视频| 校园春色亚洲色| 色色婷婷色色| 天天爽天天弄| XX色综合| 婷婷久草| 91热手机在线| 久久er+| 丁香激情综合| 丁香五月香蕉| 国内在线99视频| 婷婷视频网| 婷婷五月激情片| 色五月婷婷在线| 精品乱码久久久久| 亚洲色综合| 另类专区在线| 色五月视频,小说| www.久久爱.com| 午夜天堂啪啪| 婷婷 伊人 久久| 丁香激惜男女| 女人被男人吃奶到高潮| 成人无码精品1区2区3区免费看| 婷婷香蕉视频| WWW五月天| 天天插天天射| 久久九九激情五月天 | 激情内射人妻1区2区3区| 天天操天天国产三级片处女学生妹| 91丨九色丨高潮丰满日本| 婷婷成人五月天一区| 五月天另类激情在线| 久久综合五月天| 99爱视频在线| 色99热| 婷婷五月天成人网| Caop在线| 洗浴中心操B视频| 久久视频这里有精品99| 亚洲婷婷激情综合激情999精品| 九九热视频网站| 欧美色性色好| 色婷综合| 日韩乱玛久久| 欧美成人AAA片一区国产精品 | 狠狠色噜噜狠狠狠888| 大香蕉人人网| 五月天涩涩| 亚洲成av人影院| 99九九在线观看免费| 99热99干| 99久99久| Av九九| 国产成人精品一区二三区熟女在线| 在线观看免费狠狠色丁香香综合| 色五月综合在线| 又大又粗九一在线| 天天日日天天| 天天做天天爱天天高潮| 综合激情五月四射婷婷| 欧美精品99久久久| 九九热99视频| 天堂A∨在线| se99热久久一本| 天天夜天天色天天| 丁香五月狠狠在线观看| 米奇影视资源777狠狠色婷婷五月天激情网| 91九色精品熟女内射| 毛v一区二区视频| 婷婷爱五月天人人爱| 熟女人妻一区二区三区免费看| 国产免费AV网站| WWW.桔色成人.COM| 五月丁香自拍| 性爱网五月天| 色噜噜婷婷| 日韩狠狠色| 婷婷色网| 丁香五月影院| 五月天第四色开心色播| 亚洲精品亚洲人成人网| 天天免费成年人视频| 成人视屏在线观看| 婷婷五月天成人在线视频| 五月香婷婷| 婷婷色操| 五月丁香婷婷综合网| www、丁香五月天| 狠狠高潮精品亚洲1| 久婷狼色诱惑在线| 深爱五月激情| 9精品视频在线观看| 色婷婷五月天久久| 五月天成人综合| 色情五月婷| 色碰碰| 狠狠干在线| 五月花亭亭| 久/久精品99看9| 最新日本A片| 人妻久久久| 91男同| 五月丁香婷婷成人网| 婷婷伊人綜合中文字幕小说| 深爱五月天| 另类图片五月天婷婷| 五月婷婷六月丁香| 激情婷婷五月天日本系列| 五月婷狠狠| 亚城区在线| 欧美操逼天堂| 精品久久艹| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 激情综合色婷婷啪啪五月天| 色综合色综合色综合| 在线sebiav精品视频| 91se在线观看| 狠狠艹狠狠艹| 天天综合天综合久久网| 欧美超级视频97| 黄网在线免费观看| 日本不卡一区二区三区| 五月丁香成人网| 伊人9草在线观看| 丁香六月在线| 激情性五月天免费小说视频| 超碰97干| 97超碰,人人舔,人人操,人人摸 | 噼里啪啦完整版中文在线观看 | 97超碰婷婷五月天| 五月婷婷丁香六月| 亚洲AV激情五月综合网| 伊人综合婷婷| 丁香五月婷婷五月| 五月婷亚洲精品| 26UUU欧美激情一区二区| 久久精品99国产精品日本| 五月天,激情四射,婷婷频道| 久久9久| 日木WWW视频| 色综合五月| 日本社区五月天激情| 丁香婷婷综合影院| 婷婷五月婷婷| 这里只有精品1| 婷婷亚洲影院| 美国不卡视频| 无码成人AAAAA毛片AI换脸| 在线观看中文字幕| 久久五月婷综合网| 狠狠色婷| 777精品久无码人妻蜜桃| 色中色综合| 成人看片网站| 玖玖婷婷五月| 丁香五月ⅤA久久久| 亚洲激情综合| 天天综合五月| www激情五月天| 五月丁香婷婷无码中文| 97人操人免费视频| 五月婷婷伊| 五月天激情久久| 色婷婷五月天视频在线| 五月天成人网婷婷| 99久热在线精品| 狠狠色婷婷丁香五月| 天堂在线婷婷| 五月丁香激情啪啪| 五月婷婷深深爱| 开心五月激情婷婷| 先锋资源996| 激情婷婷| www.久久久久久| 99热午夜精品| AAA级久久久精品| 伊人干综合| 五月丁香中文| 四色99久久| 求可以看的AV网址| 婷婷五月天.com| 色色免费网站| 久久精品9| 六月婷婷视频| 丁香五月 无码| 热久综合| 97热91| 99爱在线精品视频免费观看| 五月婷婷久久大香蕉| 国产精品激情五月天色婷婷| 精品人妻久久久| 精品五月视频婷婷在线观看| 亚洲精品视频在线| 99精品在线播放| 日韩另类| 超碰人人射| 碰人人97| 亚州色综合| 婷婷五月欧美| av人人操| 婷婷丁香社区| 色五月天丁香婷婷| 丁香婷婷色九月| 中文字幕五月久久婷| 亚州激情九月| 午夜九九九九九九九九九九九九九| 亚洲精品成人片在线播| 99小视频在线观看| 婷婷狠狠18禁久久| 婷香五月| 婷婷五月四狠狠| 激情5月舔| 色婷婷五月天亚洲| 性小说五月天| 热99热9| 久久婷婷色五月| 成人性爱无码| 激情啪啪五月| 大香蕉五月天婷婷| 色五月婷婷色| 一本大道伊人AV久久综合| BBWCUCKOLD精品熟妇| 综合天堂AV久久久久久久| www.玖玖九| 天天肏视奸| 成人啪啪色婷婷久| 婷婷丁香宗合888| 综合五月婷婷| bbwcuckold精品熟妇| 色婷婷丁香五月高清在线| www.五月天。com| 五月综合六月婷婷| 大香蕉久久婷婷精品综合| 九九久久五月天| 日本啪啪天堂| 99精品偷自拍| 人人综合91网| 丁香五月1页| 天天射射夜| 色女伊人| 婷婷深爱五月天| 免费无码毛片一区二区A片| 婷婷五月丁香亚洲| 4399高清无码视频| 婷婷综合久久| 国内婷婷丁香社区在线播放| 国产精品久久7777777精品无码| 五月婷婷婷婷婷| 色五月天电影| 天天日天天爽夜夜爽| 啪啪啪大香蕉| 五六月婷婷| 久久久思思热| 99热这里只有精品官网| 大香蕉五月丁香| 色五月婷婷老师| 五月婷婷综合天天操| 久久激情五月婷婷| 日韩AAA| 丁香久久久| 操碰97| 丁香五月婷婷高清| 99rewww| 久久这里都是精品| 东京热免费视频| 久久五月天免费网站| 久久精品色| 婷婷色情五月| 天天插天天插| 五月天狠狠色| 99免费视频精品| 91婷婷丁香| 婷婷六月丁香五月图区| 色五月婷婷婷婷婷婷婷婷婷婷| 日本性激情色播| AV在线大香蕉| 婷婷新网址| 99热精品少| 婷婷激情综合| 色婷婷成人色网| 狠狠干综合| 日亚二欧美| 久热99| 懂色av蜜臀av粉嫩av永陈冠希| 九九视频这里只有精品在线播放| 中文字幕精品在线观看| 激情五月婷婷综合秋霞| 六月婷婷成人| 色综合久久88色综合天天99| 人妻有码乱操| 伊人国产婷婷五月天| 久草大| 色婷婷影视99| 色综合网综合| 婷婷五月天社区| 久久天堂网| 天天草比天天爽| 免费视频在线观看的网站| 嫩草视频在线观看| 国产激情在线| 性爱七区| 天天色天天爱天天爱天天爱y| 风流少妇A片一区二区蜜桃| 六月丁香婷婷综合狠狠爱夜夜爱| 丁香五月婷婷激情蜜桃| se色婷婷视频| 天天上天天爽| 五月天开心网| 色婷婷黄色网络| 色婷婷先锋| 亚洲色基地| 拳交大逼| 成人电影在线免费试看| 另类激情五月| 99燥99日| 五月激情网五月综合网| 色色综合网站| 丁香五月婷婷亚洲色图| 91狠狠综合久久久| 亚洲精品成人| 色综合色五月| 五月丁香激情四射| 亚洲网站999| 色婷婷综合在线| www,色综合| 亚洲AV无码电影| 91日本在线| 97干视频| 久热9| 91男同| 九九亚洲| 婷婷中文字暮| 色婷婷五月天激情综合| 韩日另类| 五月色色激情网| 超碰操日| 五月天成人免费视频| 久久影视婷婷五月| 日韩 mm 不卡| 情婷婷五月天| 免费成人中文字幕| 色综合综合色| 香蕉综合在线| 亚洲日日操| 亚洲精品视频在线| 99久在线观看| 欧美成人性爱网| 五月色婷婷亚洲 | 色婷婷狠狠色| 狠狠狠狠狠狠草| 欧美一级操逼视频| 99热这里只有精品2| 国产一区18| 怡红院视频| 丁香激情五月| 亚洲精品视频电影| 亚洲国产精品成人免费一区久久久在线观看AAAA | 国产综合色婷婷精品久久| 亚洲精品网址| 97人人射| 开心激情网五月天| 国产亚洲色婷婷99精品| 天堂在线观看视频| 久久视频这里99| 婷婷五月,偷窥偷拍网| 性欧美日本| 六月亚洲婷婷6月中文字幕| 婷婷色基地在线看 | 国产精品99久久久久久久女警| 激情综合婷婷| 亚洲av| 婷婷五月天成人网站| 玖玖婷婷五月| 欧美色小说婷婷| 视频久久9| 五月天婷婷久久| 青娱乐美女福利视频美臀| 日本九九九九九九| 一本大道嫩草AV无码专区| 亚洲综合五月天婷婷丁香| 中国AV性爱观看| 91九色中文字幕女在线观看| 大香蕉在线观看9| 五月天激情网图片| 深爱五月天| 九九热精品视频九九| 色色五月婷| 99精品久久久久久久久| 久久久久这里只有精品| 99re在线观看| 91久久婷婷人人澡草 | 天堂婷婷综合| 日本一级一级一级一级| 五月天亚洲色| 97五月婷| 色婷婷www| 97超级碰碰碰久久久| 九九热在线精品| 亚洲99综合| 欧美噜一噜| 五月天久久www| 五月婷婷狠狠久久| 99ri在线观看视频| 色婷婷香蕉| 14色综合婷婷| 婷香五月| 婷婷五月综合在线| 99久视频| 色五月成人| 色综合久久88色综合天天99| 国产五月婷| 丁香五月 综合| 99男人天堂| 色婷婷影视99| 色婷婷色五月综合| ...婷婷五月综合不卡,国产在线手机 | 综合网啪| 热99热9| 亚洲激情高潮| 五月天激情啪啪| 99精品爱| 亚洲综合色五月| 五月天婷爱综合| 五月丁香亭亭成人电影| 99色热视频| 色色日韩无码| 丁香五月婷婷亚洲综合精品在线| 婷婷六月五月天综合| 久久精品视频9| 日本社区五月天激情| 久久99久久99精品免观看软件| 五月丁香六月婷婷啪啪综合| 成人婷婷五月天| 9999热这里只有精品| 婷婷五月天伊人网在线观看视频| 色热久资源| 五月婷婷插一插| 婷婷五月情天| 婷婷月五天在线在线看| 天堂AV三级| 狠狠操.COM| www.日日夜夜.com| 99色精品| 丁香六月啪啪| 专区无日本视频高清8| 中文字幕无码人妻少妇免费视频| 久久桃花网色婷婷| aaaa.黄| 99 热| 婷婷五月天激情在线观看| 97干婷婷五月天| 丁香五月婷婷基地| 久热这里只有精品6| 丁香九月激情在线视频| 超碰97久久| 九九五月天| 色色综合视频| 婷婷综合色图| 99热99日天天干| 丁香五月婷婷亚洲色图| a色婷婷| 大香蕉婷婷五月| 色五月天天| 呦呦AV| 91久久久久久| 欧美三级巜人妻互换| 日本丁香久在线| 999热在线视频| 激情五月天婷婷丁香| 激情久久 婷婷| 天天日人人爽| WWW.桔色成人.COM| 99九九玖玖| 丁香五月成人社区| 丁香五月电影| 激情五月天啪啪| 日日夜夜婷婷| 日韩精品一区二区三区,四区,五区视频| 亚洲av网站| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 天天天天操| 亚洲精品第一国产综合亚AV | ..真实国产乱子伦对白在线_欧| 99色中文| 日韩在线五月天婷婷| 丁香六月啪啪| 色婷婷AV在线| 精品A√| 91色色五月天| 久久机热这里只有精品免费视频| 五月婷婷激情| 婷婷六月天| 91好好热日本在线| 99热这里只有精品在线观看| 91操女| 思恩热国产视频右线观看| 能看的av| 在线中文AV| 91婷婷在线| 91色噜噜狠狠狠狠色综合| 狠狠狠狠青草| 九九99一区| 亚洲中文乱字字幕在线永久| 婷婷丁香五月综合网| 免费AV播放| 婷婷色五月丁香六月欧美啪| 色综合大香蕉| 九九热99视频| 丁香九月婷婷| 色色色五月婷婷| av网址在线| 综合五月婷婷| 五月婷婷开心亚洲无| 久久亚洲婷婷| 99亚洲精品视频| 五月丁香六月香香蕉| 超碰九色| 99热在线免费观看精品| 无码激情AAAAA片-区区| 99这里只有精品国产| 日本猛少妇色XXXXX猛叫| 色小说婷婷五月天天天| 免费色婷婷| 色五月婷婷内射| 亚洲色色五月天| 另类激情中文| 97丁香花五月天激情小说| 色五月婷婷成人| 日韩成人综合| 天天干,天天日| 六月丁香啪| www日本熟妇99在线视频| 亚洲人妻五月丁香婷婷| 五月丁香亭亭AV女优| 五月天婷婷在线播放| 九九综合88| 丁香六月欧美| 激情婷婷五月基地| 超碰在线人妻| 一区二区乱视频码| 丁香五月婷久久| 天天综合亚洲| 色色色色色色色综合| 日韩有码一区| 欧美日本va| 色综合香蕉| 91九色首页| 九九草热在线观看| www色婷婷com| 九八Av| 日韩成人无码人妻| 婷婷五点亚洲| 99精品视频免费在线播放| 激情性爱五月天网页| 日本天堂免费99| 九九婷婷五月天影视| 婷婷五月天丁香| 色色色五月天激情资源| 日韩无码专区| 亚洲五月天激情| 亚洲色小说在线综合| 久大香蕉| 久久久久久久久久久jjjj| 99精品在线观看视频| 精品国产va久久久| 人人干Av| 亚洲另类婷婷五月综合| 人妻爽爽爽久久久久久久久| 亚洲AV成人一区二区在线观看| 成人av免费观看| 欧美99热| 色婷婷中文在线| 综合图片色色| 天天日日爽| 日本色色图| 98热精品| www.色色色com| 九九伊人网| 91精品久久久久久| 六月激情丁香一道本7777| 夫妇交换刺激做爰| 色色色999| 99性爱| 99热这里只有精品18| 欧美性猛交99久久久久99按摩| 丁香五月电影| 黄网在线免费观看| 久久九九激情五月天| 五月丁香久久| 精品爱欲五| 深爱激情综合| 欧日韩成人| 99精品在线观看视频| 五月天久久综合婷婷| 婷婷五月在线视频| 国产精品成人在线| 综合色图区| 久久这里都是精品| www.99热视频| 色色99| 国产色丁香| 99视频内射三四| 婷婷五月天最新综合你懂的| 中文字幕+乱码+中文字幕在线观看| 九九热只有精品6| 99亚洲大片精品永久在线观看 | 视频色色色色色色| 99热 免费| 国产一区男女| 丁香五月婷婷欧美成人色图| 这里只精品热在线18| 91精品综合久久久久久五月丁香 | 综合色吧| AV在线免费播放| 天天色天天射天天日| 五月天四色房丁香| 99精品免费| 国产 亚洲 在线| 国产婷婷色综合AV蜜臀AV | 丁香六月色| 丁香婷婷五月激情| 99热99思午夜精品| 九九色99| 91男同| 五月丁香久久久久| 丁香香蕉射射射| www.婷婷,com| 五月婷婷丁香成人网| 天天操屄网| 五月丁香六月婷综合成人综合| WWW.桔色成人.COM| 天堂综合久| 久久天天| 98色丁香五月婷婷综合网| 婷婷五月成人有| www五月| 精品久久人妻| www.五月婷婷.com| 人人人人人人人草| 九九自拍网| 五月婷婷碰碰| a色色色色色| 免费不卡狠操美女视频网 | 99热综合网| 无码AV免费精品一区二区三区 | 久久久人妻久久久| 天天做天天干天天综合网| 日本一毛片| 色婷婷狠狠| 五月激情综合性爱| 久久永久网址| 色老久久| 欧美三级视频| 伊人网色婷婷五月天| 久综合网| 九九伊人网| 九热久| 五月综合视频| 五月色亭丁香| 99热99这里免费的精品| 日韩一本操| 六月丁香深深爱综合网| 婷婷五月综合色拍| 91啪啪网| 中文av网| 日韩高清久久| 五月婷在线视频免费播放| 色婷婷狠狠| 79亚洲精品少妇| 久久免片| 五月天色影院| 欧美日本国产欧美日本韩国99| 五月综合激情视频在线| 啪啪东京热| 五月天伊人综合| 99九九综合久久九九| 婷婷五月天AV在线| 五月丁香 狠狠爱| 婷婷色色网| 91狼友视频在线观看| 色色婷五月天| 婷婷色导航| 99热最新国内| 99综合色| 五月天婷婷色色首页| 国产色色色色| 婷婷欧美激情| 操碰91| 丁香五月成人社区| 99热这里只有精品青草| 99免费综合网| 综合在线观看99| ji'qi'luan'ren'lun| 婷婷激情五月视频| 丁香五月偷拍| 天天爽—爽| 伊人婷婷色激情丁香| 青青青在线视频国产| 91九九精品| 久久婷婷丁香| 97亚洲色 torrent magnet| 天天插天天日| 精品色| 1024人妻| 国产暴力强伦轩1区二区小说| 99er免费在线观看| 9999热免费视频视频| 综合久久影院| 情涩婷婷五月天| 五月丿香啪啪| 色婷婷丁香五月| 六月婷婷开心| 99久热在线精品| 女人天堂久久| 五月天激情小说| 婷婷五月天成人小说| 天天摸天天舔天天爽| 久久大香蕉视频| 大香蕉五月天婷婷| 天天干天天色综合| 五月婷婷丁香狠狠撸久久| 丁香六月婷婷综合激情欧美| 欧美色婷婷| 亚洲激情视频网| 激情另类综合| 噜噜五月天综合| 99国产小视频免费观看| 97香蕉碰碰人妻国产欧美| 久久桃花网色婷婷| 大香蕉520| 日日撸夜夜操| wwwC0maV五月花| 26uuu国自产精品| 99热加勒比| 婷婷五月天丁香久久| 激情性爱五月天网页| 人人操五月天| 91成人性爱视频| 欧州色色| 91精品综合久久久久久五月丁香 | 99热无码首页| 五月天色婷婷图片| 婷婷五月天在线综合导航| 久久伦乱| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 26.uuu丁香五月婷婷| 99久久综合| 97黑人精品区| 色五月大| 99性爱视频| 色色丁香激情五月| 五月花婷婷最新| 91热er| 天天 青草 制服丝袜 在线| 另类小说五月天| 另类视屏| 怡红院91a√| 久久婷丁香五月| 大香蕉久久久久| 久久婷婷五月综合成人d啪| 五月天激情四射网站| 婷婷色综合| 五月婷婷色影院| 色娸娸综合网| 免费观看亚洲AV片| 五月婷婷综合影院| 中文字幕,综合,91| 五月色婷婷中文字幕| AV在线免费网站| 欧洲激情五月天婷婷| 色婷婷丁香特级性爱视频| 夜夜天天久久婷婷| 天天成人综合视频| 欧美激情-区二区三区| 色天天综合| 欧美25p| 日韩成人电影AV| 久久婷婷五月天大香蕉| 亚洲秘 无码一区二区三区妃光/1| 99自拍视频在线| 亚洲色色色色| 天天做天天爱天天高潮| 国产做爰视频免费播放| 99色.com| 丁香六月色婷婷| 精品九九视频| 停停五月色宗合| 91精品久久久久久77777| 熟女人妻视频| 涩涩婷婷五月| 丁香六月开心| 人妻久久久久久久| 婷婷五月天综合在线| 亚洲国产精品二二三三区| 综合在线观看99| 第四色五月婷婷| www.精品99| 狠狠色丁香| 婷婷涩五月| 丁香8月手机综合| 99ri精品视频在线观看| 2025最新亚洲激情在线| 美国十月色婷婷在线观看| 伊人五月天| 神马欧美精| 五月婷婷六月奇米网丁香| www.97碰碰com| 黄页免费一级视频懂色| 五月天三级| 婷婷五月天激情电影| 精品自拍99| 亚洲国产成人裸舞| 亚洲AV综合在线观看| 潘金莲AAAAAAAAAA| 天天做天天爱天天搞| 五月香六月婷| 天天色播| 激情六月五月婷婷综合网| 久久怡红院| 91丨人妻丨国产丨丝袜| 激情色情五月天| 欧美交换配乱吟粗大25P| 九九re精品视频在线观看| 色色网站| 亚洲射激情| 五月Huangsewang| m色激情网| 玖玖爱资源站| 98色丁香五月婷婷综合网| 激情久久五月网| 最近中文字幕大全免费版在线| 九九热av| 婷婷九月| www.色婷婷.com| 日日噜噜夜夜狠狠久久丁香五月| 精品久久久久成人码免费动漫| 久久久99免费视频| 视频一二区| 久久新地此| 色爱综合网| 激情五月天综合网| 五月婷婷色影院| 国产在线黄色| 97碰碰人人| av久热| 婷婷五月免费视频| 久草视频大香蕉99| www,婷婷| 9999热精品| 丁香婷婷色五月| 色九月综合| 色色丁香激情五月| 加勒比日本一区二区三区| 中文字幕激情综合| 婷婷七月丁香色色| 99精品网| 精品99在线看| 国产看真人毛片爱做A片| 91操人| 婷婷六月丁| 久久这里只有欧美| 97干在线视频| 色青青电影色五月| 丁香五月婷婷老师网站| 婷婷五月天激情综合网| 日本情色一区二区| 综合久| 亚洲女婷婷五月基地综合久久久| 激情综合丁香六| 26UUU欧美| 3pAV| 影音先锋91男人资源在线播放| 久久婷婷亚洲| 色三级色三级| 99热网站| 五月婷婷六月丁香综合| 午夜成人网站在线观看| 99操| 99热这里只有精品免费| 色婷婷五月综合在线| 97色五月天| 激情五月色综合网| 色九网| 婷香五月网在线| 久9热插入| 六月婷婷八月丁香| 五月天夜夜爱夜夜操| 九色91美女| 610018岁成人视频| 99爱爱| 日韩无码人妻一区二区| 亚洲热热视频| 欧美丁香婷婷五月天| 五月婷婷开心色伊人| 九九九九九九九九九九九九九国产精品| 九月丁香亭亭| 开心五月天激情网| 激情婷婷丁香色五月| 五月天激情图片| 香蕉中文在线| 激情五月六月婷婷| 久久人妻人人| 国产资源91在线| 超碰av在线| 碰超99| 91人人看| 99性视频| 丁香五月天视频| 五月婷婷综合网在线播放| 草榴视频黄色网| 99热9| 99视频35精品视频在线观看| 亚洲另类视频| 色婷婷AAA| 高清不卡一区| 欧美日韩123| 色域五月婷婷丁香| 色色色在线| 激情综合99| 婷婷丁香五月激情密臀av| 五月天婷婷Av| 思思热99er| 夜精品无码A片一区二区蜜桃| 99亚洲精品| www.天天干| 人妻av在线| 欧美在线97| 婷婷五月激情小说| 狠狠综合网| 大香蕉久操| 色色丁香| 午夜丁香| 涩五月婷婷| Av性爱网站|