久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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的人大概都聽(tīng)過(guò)這個(gè)靈魂拷問(wèn)Atlas 300V 24G到底算不算運(yùn)算加速卡答案是算而且很能算。這塊卡雖然經(jīng)常被歸類到“視頻解析”產(chǎn)品線里但內(nèi)核是華為昇騰310P AI處理器24GB大內(nèi)存拿來(lái)跑YOLO系列模型是再常見(jiàn)不過(guò)的玩法。很多人第一次拿到它對(duì)著npu-smi里的“Video Card”字樣一臉懵以為買錯(cuò)了卡。這篇文章不繞彎子直接圍繞Atlas 300V 24G把硬件規(guī)格、CANN工具鏈、YOLO模型轉(zhuǎn)換、ACL推理以及我實(shí)際踩過(guò)的坑一條條講清楚。不管你是剛?cè)腴T的算法工程師還是要給服務(wù)器配推理卡的運(yùn)維老手看完應(yīng)該都能少走不少?gòu)澛贰?. Atlas 300V 24G到底是什么先回答“是不是運(yùn)算加速卡”1.1 一張圖看懂硬件參數(shù)與定位先給結(jié)論Atlas 300V 24G常見(jiàn)型號(hào)為Atlas 300V Pro 24GB是華為昇騰生態(tài)里的一塊AI推理加速卡核心是昇騰310P處理器不是純視頻卡。只不過(guò)它板載了DVPP視頻編解碼硬件單元能做H.264/H.265的硬件解碼所以經(jīng)常被塞進(jìn)視頻分析服務(wù)器里導(dǎo)致很多人以為它只是視頻轉(zhuǎn)碼卡。參數(shù)層面我直接說(shuō)大家最關(guān)心的幾項(xiàng)項(xiàng)目常見(jiàn)標(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系列偏視頻和視覺(jué)計(jì)算300I系列偏通用推理。但無(wú)論哪個(gè)它們的本質(zhì)都是AI加速卡核心邏輯是一樣的。所以說(shuō)“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接口加載推理。多了一道工序但也換來(lái)了兩個(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ù)都要通過(guò)ACL接口主動(dòng)搬運(yùn)到設(shè)備側(cè)或者用內(nèi)存映射方式做零拷貝這個(gè)細(xì)節(jié)后面實(shí)操部分會(huì)講。1.3 為什么那么多人搜“是不是運(yùn)算加速卡”這個(gè)問(wèn)題被反復(fù)搜索背后是有原因的。很多人從云廠商或者二手市場(chǎng)拿到這塊卡第一件事就是插到機(jī)器上看系統(tǒng)識(shí)別。結(jié)果npu-smi昇騰的顯卡信息工具顯示一堆“Processing Unit”信息但主板上沒(méi)有顯示輸出接口也沒(méi)有風(fēng)扇狂轉(zhuǎn)和印象里的“顯卡”完全不一樣。加上Atlas 300V Pro 24GB的官方定位是“智能視頻加速卡”包裝、文檔、驅(qū)動(dòng)管理界面都強(qiáng)調(diào)視頻能力這就讓不少人懷疑自己是不是買到了“視頻采集卡”。實(shí)際情況是視頻解碼只是它的一部分能力AI推理才是重頭戲。DVPP硬件解碼出來(lái)的畫面可以直接喂給AI算子省掉了從CPU繞一圈的搬運(yùn)開(kāi)銷這正是它在視頻分析場(chǎng)景里特別強(qiáng)的原因。所以不要再糾結(jié)它是不是運(yùn)算加速卡它的AI算力就是為了讓YOLO這類模型能低成本、高吞吐地跑起來(lái)。1.4 這塊卡適合誰(shuí)來(lái)用結(jié)合我自己的使用經(jīng)驗(yàn)Atlas 300V 24G特別適合三類場(chǎng)景視頻分析項(xiàng)目攝像頭流接入DVPP硬解后直接推理典型的就是人車物檢測(cè)、安全帽識(shí)別、煙火檢測(cè)這類YOLO落地場(chǎng)景。高密度推理服務(wù)器一張卡幾十瓦四卡、八卡堆在一起機(jī)箱散熱壓力小機(jī)房電費(fèi)也扛得住。國(guó)產(chǎn)化部署項(xiàng)目需要用到昇騰平臺(tái)的場(chǎng)合用這塊卡做模型落地。不太適合的人群是想“零成本遷移CUDA代碼”的開(kāi)發(fā)者。昇騰有自己的編程范式ACL也好、MindSpore Lite也好都要重新適應(yīng)。不過(guò)好消息是只要你能把模型導(dǎo)出成ONNX基本都能轉(zhuǎn)成om模型跑起來(lái)。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è)過(guò)程里最核心的兩件事就是“模型轉(zhuǎn)換”和“推理代碼”。模型轉(zhuǎn)換決定模型能不能跑、跑得順不順推理代碼決定能不能把硬件性能吃滿。我記得第一次接觸昇騰時(shí)以為和TensorRT一樣裝好驅(qū)動(dòng)直接有個(gè)類似trtexec的工具就能測(cè)。實(shí)際用下來(lái)發(fā)現(xiàn)CANN生態(tài)里最常用的測(cè)速工具是ais_bench模型轉(zhuǎn)換和推理的性能優(yōu)化都圍繞它展開(kāi)。先把這條鏈路走通再談?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)試起來(lái)沒(méi)那么直觀。我個(gè)人建議大多數(shù)場(chǎng)景選ATC pyACL理由有三點(diǎn)ATC轉(zhuǎn)換om模型時(shí)做了大量圖優(yōu)化和算子融合模型一旦轉(zhuǎn)好運(yùn)行開(kāi)銷小。pyACL接口簡(jiǎn)單直接加載、執(zhí)行、取結(jié)果非常透明出了問(wèn)題好定位。MindSpore Lite雖然也支持轉(zhuǎn)模型但版本兼容性問(wèn)題比ATC多一些尤其是YOLO這種要用到自定義后處理的場(chǎng)景不如ACL靈活。當(dāng)然如果團(tuán)隊(duì)主技術(shù)棧就是MindSpore那就用MindSpore Lite。不過(guò)以我接觸的項(xiàng)目看大部分人的模型都是PyTorch訓(xùn)練出來(lái)的走ONNX ATC明顯最順。2.3 環(huán)境準(zhǔn)備驅(qū)動(dòng)、固件、CANN工具包部署環(huán)境這塊是最容易出問(wèn)題的照著官方文檔也可能翻車。我的建議是按順序來(lái)裝驅(qū)動(dòng)和固件Ascend HDK讓系統(tǒng)能識(shí)別到卡。裝完后用npu-smi info查看能看到卡就說(shuō)明基礎(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版本記錄下來(lái)方便以后排查。2.4 模型轉(zhuǎn)換前的準(zhǔn)備導(dǎo)出干凈的ONNX在轉(zhuǎn)om之前先把YOLO模型導(dǎo)出成ONNX。這一步看似簡(jiǎn)單其實(shí)決定了后面ATC能不能一次通過(guò)。以YOLOv5為例推薦用官方倉(cāng)庫(kù)自帶的導(dǎo)出腳本python export.py --weights yolov5s.pt --include onnx --opset 11幾個(gè)關(guān)鍵點(diǎn)opset版本不要太高11到13之間最穩(wěn)。我試過(guò)opset17ATC轉(zhuǎn)換時(shí)報(bào)過(guò)不少算子兼容問(wèn)題降到11直接通過(guò)。導(dǎo)出時(shí)把NMS去掉只保留主干輸出。NMS放在CPU上做或者用昇騰的融合NMS算子單獨(dú)處理混在模型里會(huì)讓轉(zhuǎn)換失敗概率大增。固定輸入尺寸。YOLOv5默認(rèn)640×640直接用即可。不要一開(kāi)始就搞動(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)來(lái)。有一點(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)換命令字段逐一說(shuō)明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固定下來(lái)。這里的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ì)說(shuō)。--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ò)最常見(jiàn)——不同芯片的算子庫(kù)不一樣填錯(cuò)就轉(zhuǎn)不過(guò)去。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位無(wú)符號(hào)整型然后數(shù)據(jù)直接除以255min為0、max為255時(shí)計(jì)算方式是把像素值映射到[0,1]區(qū)間不做色彩空間轉(zhuǎn)換。注意幾個(gè)細(xì)節(jié)很多圖像讀出來(lái)是BGR格式OpenCV默認(rèn)如果模型訓(xùn)練時(shí)用的是RGBAIPP里要不做csc要不就是input_format: BGR888_U8然后在模型里期望RGB。搞反了會(huì)導(dǎo)致檢測(cè)結(jié)果嚴(yán)重變差邊界框亂飛但loss不高這種問(wèn)題最隱蔽。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ù)。我見(jiàn)過(guò)太多項(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直白說(shuō)動(dòng)態(tài)Batch需要申請(qǐng)多組內(nèi)存池實(shí)際用起來(lái)要處理“當(dāng)前實(shí)際batch是多大”的問(wèn)題邏輯復(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í)際來(lái)幾張圖都要湊夠4張才能推理視頻流場(chǎng)景可能反而增加延遲。要根據(jù)業(yè)務(wù)取舍。3.4 輸出節(jié)點(diǎn)與YOLO后處理方案YOLO模型轉(zhuǎn)om后輸出可能是幾個(gè)特征圖拿YOLOv5來(lái)說(shuō)如果不做融合會(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è)輸出來(lái)處理代碼簡(jiǎn)單。如果轉(zhuǎn)出來(lái)是三個(gè)獨(dú)立的輸出節(jié)點(diǎn)可以在ATC命令里用--out_nodes把它們拼一下或者直接在Python后處理里分別解析。后處理NMS建議放在CPU側(cè)執(zhí)行。具體流程是取模型輸出按閾值過(guò)濾低置信度框。將特征圖坐標(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è)卡可以通過(guò)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。之后通過(guò)描述符拿到輸入和輸出的大小再申請(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)來(lái)。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的方式解碼、過(guò)濾、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è)備利用率上不去問(wèn)題多半出在數(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è)試不要一上來(lái)就寫完整工程先拿工具測(cè)模型底數(shù)。CANN自帶ais_bench用起來(lái)很簡(jiǎn)單ais_bench --modelyolov5s_bs4.om --input./input_bin --output./out --batchsize4它會(huì)把推理耗時(shí)、吞吐非常清楚打出來(lái)。得到benchmark數(shù)后再和你自己的代碼對(duì)比。如果自己的代碼比ais_bench慢很多說(shuō)明預(yù)處理或拷貝環(huán)節(jié)有瓶頸。我第一次跑YOLOv5s 640×640時(shí)ais_bench顯示單batch延遲在個(gè)位數(shù)毫秒級(jí)別批處理反而在內(nèi)存拷貝上浪費(fèi)了大量時(shí)間。后來(lái)發(fā)現(xiàn)是每次都用np.ascontiguousarray強(qiáng)制復(fù)制輸入數(shù)據(jù)格式本身就不連續(xù)。改完直接讓輸入數(shù)據(jù)從創(chuàng)建開(kāi)始就是按C-contiguous生成省掉這一次拷貝延遲立刻下來(lái)一截。5.2 影響吞吐的3個(gè)隱藏因素很多人在Atlas上跑YOLO明明模型轉(zhuǎn)換沒(méi)問(wèn)題設(shè)備也沒(méi)報(bào)錯(cuò)但吞吐就是上不去。就我的經(jīng)驗(yàn)多半是卡在這三個(gè)地方第一輸入數(shù)據(jù)排列。YOLO模型輸入是NCHW也就是batch、channel、height、width。如果從視頻幀直接resize出來(lái)是NHWCOpenCV默認(rèn)就是HWC需要做一次transpose。這個(gè)transpose如果放在host端Python里做會(huì)非常耗時(shí)建議通過(guò)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)存管理器開(kā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í)的模型來(lái)說(shuō)非常寬裕但大批次并發(fā)時(shí)還是會(huì)遇到內(nèi)存碎片問(wèn)題。我建議用固定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. 常見(jiàn)問(wèn)題與排查實(shí)錄6.1 從報(bào)錯(cuò)看問(wèn)題我踩過(guò)的幾個(gè)典型坑先說(shuō)模型轉(zhuǎn)換階段的經(jīng)典報(bào)錯(cuò)E10016: Load model failed。這個(gè)多數(shù)是CANN環(huán)境沒(méi)配對(duì)要么驅(qū)動(dòng)太老要么set_env.sh沒(méi)source。我的排查順序是先source環(huán)境變量再跑atc --version如果版本顯示正常再查驅(qū)動(dòng)和CANN配套表。轉(zhuǎn)換報(bào)“Unsupported operator”或者“Parse onnx model failed”。這種情況十有八九是ONNX里帶了不支持的算子。我遇到過(guò)YOLOv5s用opset17導(dǎo)出后在ATC里報(bào)降到11就通過(guò)了。也有模型帶了一些后處理比如NonMaxSuppression直接在導(dǎo)出時(shí)關(guān)掉。轉(zhuǎn)換成功但推理輸出全是0或全是一個(gè)常數(shù)。這個(gè)要優(yōu)先檢查AIPP配置。常見(jiàn)原因是BGR/RGB格式寫反或者歸一化參數(shù)不對(duì)。可以用一張純色圖做端到端測(cè)試看輸出是否在期望范圍。推理階段也有幾個(gè)高頻問(wèn)題報(bào)錯(cuò)里帶“rtMalloc”字樣的除了內(nèi)存不足還可能是buffer大小計(jì)算錯(cuò)誤。比如輸入為uint8你按float32申請(qǐng)了4倍大小雖然不報(bào)錯(cuò)但拷貝的內(nèi)容錯(cuò)位。反過(guò)來(lái)如果按uint8申請(qǐng)但ATC里input_shape默認(rèn)數(shù)據(jù)類型是FP32推理時(shí)數(shù)據(jù)會(huì)被解釋錯(cuò)。用Python接口時(shí)最鬧心的是偶發(fā)段錯(cuò)誤或者進(jìn)程崩潰。這類問(wèn)題大多和numpy數(shù)組生命周期有關(guān)。你的numpy數(shù)組被垃圾回收了但設(shè)備側(cè)的data_buf還指向它再執(zhí)行時(shí)就會(huì)炸。解決方法是讓存放輸入數(shù)據(jù)的numpy數(shù)組保持引用直到推理完成或者直接用acl自帶的內(nèi)存接口管理生命周期。6.2 常見(jiàn)問(wèn)題速查表癥狀可能原因解決辦法npu-smi看不到卡驅(qū)動(dòng)沒(méi)裝好/固件不匹配重裝驅(qū)動(dòng)和固件確認(rèn)板卡供電與PCIe插槽ATC報(bào)soc版本不識(shí)別芯片類型填錯(cuò)npu-smi info查到型號(hào)按實(shí)際填寫ATC報(bào)so文件缺失環(huán)境變量沒(méi)source執(zhí)行source set_env.sh轉(zhuǎn)換失敗算子不支持ONNX版本/torch導(dǎo)出方式問(wèn)題嘗試opset11去掉NMS推理結(jié)果全0AIPP格式或數(shù)據(jù)拷貝錯(cuò)誤檢查RGB/BGR、數(shù)據(jù)shape和dtypeacl.rt.malloc失敗內(nèi)存申請(qǐng)過(guò)多/泄漏復(fù)用buffer減少動(dòng)態(tài)申請(qǐng)首幀延遲高模型加載時(shí)算子編譯項(xiàng)目啟動(dòng)預(yù)加載模型熱身推理一次6.3 獨(dú)家避坑技巧最后分享幾個(gè)常規(guī)文檔里不會(huì)寫的經(jīng)驗(yàn)都是真金白銀換來(lái)的第一模型轉(zhuǎn)換完先別急著自己寫代碼用官方ais_bench或atc自帶的檢查工具驗(yàn)證模型輸出。如果工具測(cè)出來(lái)輸出正常那你后處理邏輯寫錯(cuò)就是自己的問(wèn)題如果工具也異?;究梢枣i定是轉(zhuǎn)換環(huán)節(jié)的配置錯(cuò)誤別讓兩頭背鍋。第二YOLO在CPU上做NMS時(shí)建議用cv2.dnn.NMSBoxes它在Atlas服務(wù)器的x86/ARM架構(gòu)上都很穩(wěn)。不要一上來(lái)就上自定義nms算子雖然后續(xù)可以做融合優(yōu)化但調(diào)試成本高不少先跑通再優(yōu)化。第三調(diào)試階段把--logerror改成--logdebug并且保留完整日志文件。昇騰的報(bào)錯(cuò)非常詳細(xì)debug日志里能看到是哪個(gè)算子、哪塊內(nèi)存出了問(wèn)題。別嫌日志長(zhǎng)關(guān)鍵時(shí)刻能救命。第四電源和散熱。這塊卡功耗雖然不高但機(jī)箱里塞多卡時(shí)供電質(zhì)量直接影響穩(wěn)定性。我在一臺(tái)4卡機(jī)器上遇到過(guò)推理幾小時(shí)后偶發(fā)超時(shí)的問(wèn)題排查到最后是電源功率余量不足導(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部署遇到問(wèn)題心里也有底。如果讓我給剛?cè)腴T的人一個(gè)最實(shí)在的建議先固定Batch1固定640×640輸入CPU端做NMS不要一上來(lái)就折騰動(dòng)態(tài)Shape、多stream、融合NMS這些高級(jí)特性。把一條簡(jiǎn)單的路走通再逐步加復(fù)雜度這是我在多個(gè)項(xiàng)目里驗(yàn)證過(guò)的最穩(wěn)路徑。Atlas 300V 24G是一塊好卡但好卡也需要對(duì)的打開(kāi)方式。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人影院中文字幕| 99操视频| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 大香蕉免| 欧美 亚洲精品首页| 69精品久久久久中文字幕| 麻豆婷婷成人一二三| 91色婷婷综合久久中文字幕二区| A片 AV一级在线播放观看免费| 亚洲乱色视频一区、二区在线| 人人妻人人爽一区二区三区| 亚州色交| 最近2018中文字幕在线高清第一页| 六月丁香婷| 韩国毛片一区二区三区| 精品亚洲黄色片 国产精品导航一区二区 | 国产精品麻豆免费视频| 啊操爽品善一区二区三区| 国产色图乱伦| ai欧美亚洲小说| 中文字幕第9页萱萱影音先锋| 欧美激情综合| 春色综合网| 色婷婷基地| 天天综合网在线91| 黄色高清久久无码依人| 日本1区2区不卡视频| 久久精品视频在线观看| 久热影视| 色五月激情AV在线| 色五月综合| 国产999精品久久久| 国产亚洲禁久一区二区| 78精品| 久久精品免费| 国产绿奴视频在线观看| 国产精品国产| 天堂种子在线www网资源| 久久九九97| 草草影院在线视频| 亚洲国产精品99久久久| 97精品视频在线播放| 91强奸乱轮| 99精品九九九九九九| 97操综合| 熟妇国产免费一区| 无码人妻精品一区二区中文| 超碰AV在线| 有码专区最新中文字幕有码| 99热精品免费| 中文字幕第2页| 99热这里都是精品| 午夜男女爽爽爽影院视频| 亚洲色图 欧美热图 清纯唯美 另类自拍| 欧美性性性| 国产成久久综合片| 精品少妇人妻一区二区三区| 麻豆美女丝袜人妻中文| 亚洲情色一区三区| 亚洲成人久久一区二区| 亚91网| 熟女精品一区二区三区| 少妇一级婬片免费放一级a性色.| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久久免费少妇| 91成人久久| 亚洲图片欧美在线视频| 久久专区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美精品自慰系列寂寞少妇| 中出欧美| 91丝袜熟女| 9久久精品| 清纯唯美综合| 蜜臀AV成人精品蜜臀| 日本免费专区| 99久久99九九99九九九| 粉嫩国产精品久久久| www国产天美久久久| 秘书高跟黑色丝袜国产91在线| 欧洲综合视频| 一区二区三区免费岛国片| 欧美丝袜美女电影一二三四区| 大香交伊人网| 欧美久久伊人| 欧美日产国产在线成人第一区| 91色夜| 色诱avtt| 午夜精品久久久久久久男人的天堂| 久热在线精品免费观看| 91美女视频在线观看| 九九九九日本| 九九成人视频| 天天色天天干天天射| 黄页网站成人免费| 欧美亚洲厕所精品偷拍91 | 91综合熟女| 999熟女精品| 最新欧洲欧美日本激情网站| 操操操五月天婷婷丁香影院| 久久精品人妻一区二区三区| 中文字幕精品人妻丝袜| 在线有码中文字幕| 日韩有码 一区二区三区| 99精品视频在线观看| 人妻素股| 成人日韩中文字幕| 人人操我人人干| 外国免费性情大片| 久久久内射良家| 天天干天天日天天射黄色大片| 日韩色欲久久一二三四区| 9118禁| 久久久草草精品| 熟女色图在线| 人妻天天操天天爽视频免费| 激情五月丁香五月| 黄片不用下载在线观看| 日本一区二区三区四区免费观看| 操逼日批| 极品综合| 边做饭边操逼逼| 中文字幕欧美丝袜07资源| 久久风骚城市人| 亚洲精品不卡一二三区| 久久夜夜夜| 三上制服丝AV| 日日骚 av| 东京热一区二区三区四区五区六区| 国产成人亚洲精品自产在线| 91综合在线| 亚洲综合中文字幕有码| HEYZO高无码国产精品227| 国产一区二区三区免费视频在性观看| 9色国产精品一区粉嫩| 欧美激情精品久久久久久| 国产熟女自拍| 色臀AV| 大香蕉综合网| A级在线视频| 蜜臀久久99精品久久久久久无删减| 嗯~啊~轻一点 视频| 97 国产精品| 日韩一级二级三级免费看完整版国语版 | 国产精品色哟哟| 四季AV综合网址| 91美女在线视频| 中国黑人三级片网站上区| 91九色丨国产丨爆乳| 亚洲精品久久久久久久久豆丁网| 精品91摸| 国产熟妇一区二区| 997色在线| 激情情色五月天| 特污精品女优骚货黄色视频在线免费观看| 国产91 丝袜在线播放00-百度| 欧美劲爆第一页| 97色碰| 欲香欲色| 亚洲一区二区三区中文字幕| 91狠狠色丁香婷婷综合久久| 天天综合日韩网| 欧美大香蕉97| 青操影院| 精品少妇999| 久久精品国产精品一区| xxxx网站亚洲精品| www久| 超碰97欧美在线| 亚洲中文字幕有码视频一区二区三区| 精品亚洲俞拍视频一区| 91精品国产乱码| av橘色网站| 9久久精品| 毛片久久| 欧美麻豆成人同性GⅤ在线| 97人人干人人操| 国产天美欧美| 欧美韩国你懂得在线 | 日韩成人精品中文字幕| 麻豆天美传媒在线视频天堂| 素人无码中文字幕| 日韩大香蕉AV影片| 成人26uuu| 天堂中文资源在线bt| 亚洲少妇色| 91大胆欧美| 久久久久久久久九九久孕交| 秋霞男人网| 男人的天堂日韩| 97超视频在线观看| 亚洲熟妇AV日韩熟妇在线| 亚洲色人阁| 无码人妻毛片丰满熟妇精品区| 精品国产乱码久久久| 亚洲 无码 偷拍| 天天操人人操狠狠插| 久久性爱大全| 狠肏骚人妻| 久久禁| 亚洲色图综合| 婷婷五月成人| 超碰是碰在线观看| 91久久免费视频互動交流| 亚洲偷拍自拍在线视频| 97色视频在线| 亚洲欧洲中文日韩女优乱码| 9l视频自拍9l九色成人| 天天干天天中出av| 1769成人国产精品视频| 99熟女| 日韩 女同 综合| 青青草一区二区高清无码视频| 可以免费看黄片的视频| 亚洲欧美爆| 婷婷8月天青娱乐| 性爱Av免费| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 屌色在线97视频| 操淫穴亚洲五月丁香 | 91在线超高颜值国产| 色蜜AV| 伊人在线大香蕉视频久久| 97久久超碰| 色吧五月| 国产在线激情| 一区在线观看中文字幕| 亚洲诱惑天堂 | 国产美女激情| 国产AAAAAABBBBB| 熟妇在线视频一区二区| 无码久| 2017天天插| 91社操逼| 亚洲丝袜二区在线| 人人手机欧洲亚洲国产人妻| 超碰免费人妻在线| 一个人免费HD91视频| 4141514逼喷水三级片| 少妇三p| 久久久精品无码亚免费| 色在线69堂| 日韩性爱1级片视频| 色诱中文字幕| 国产乱伦性爱区| 吉川爱美98堂在线| 99久久精品无码一区二区毛片免费 | 久操免费观看| 日本高清电影欧美色图| 亚洲男人天堂AV| 女优免费一区二区永久| 国产一区二区在线播放| 久久久99久9| 天天综合91| 国产精品一区二区在钱播放| 国产一级舔足在线观看| 大香蕉中文aV在线| 日韩图区 偷拍| 天天摸天天舔天天操| 成人免费福利在线观看| 女人18精品一区二区三区| 黄色性爱网网| 校园激情狠狠四射| 国产女上位好爽在线| 亚洲婷婷丁香在线| 久久超碰免费的| 一区二区三区美女超清| 岛国不卡超碰护士AV在线播放| 国内毛片国产专区二| 97日韩欧美亚洲| 午夜免费视频1000| 精品一区二区综合熟妇| 亚洲人妻久久久| av天堂影视中文在字幕在线中文 | 欧美色老汉| 任你艹| 试看60秒 爽| 神马午夜久久久| 久久精品国产亚洲AV片多多| 男人的天堂99| 超碰在线人妻不卡| 丁香五月婷婷基地| 天天看天天日天天操| 97这里都是精品| 久久精品中文字幕观看| 亚洲丝袜少妇在线| 欧美精品第四五页中文字幕在线观看| 少妇高潮对白在线观看| 无码久久国产 | 欧美亚州色的图| 亚洲天堂 视频你懂的| 性猛交| 伦理弟一页| 色色婷婷丁香| 波多野42部无码喷潮在线观看 | 久久一区无码| 黄aaaaaaaaaaaaaaaaaa色网站| 久久久久久精| 风间由美日韩欧美久久| 欧美一二在线| 五月丁香成人网| 欧美高清无码免费视频高清版| 久久久草草精品| 97AV爱| 午夜欧美女人操逼| 国产成人亚洲精品无码最新在线| 国产精品伦理| 99国产精品久久久久久久成人热| 99自拍视频在线| 操B视频日韩无码| 草B在线| 97色视频在线| 日韩操人| 亚洲成人无码影院| 综合 欧美 亚洲 日本| 一区二区三| 综合情欲网| 99热aaa| 夂久色| 国产吞精a级片激情电影| 亚洲**2021在线观看| 久草这里只有精品 | 狼狼色丁香久久婷婷综合五月| 国产日韩怡红院| 天天日美女的B| 精品久久99| 五月天色色网站| 九九探花视频在线观看| 国产精品久久久无码aV去| 91丝袜人妻| 9997se| 欧美论理片| 久久综合中文国产| 欧美 亚洲 综合 制服| 人人操人人大香蕉| 中文一区在线视频| 久操网址| 黄色激情电影在线观看| 国产一区二区三区免费视频在性观看 | 97免费视频网| 人人手机欧洲亚洲国产人妻| 激情综合五| 国产激情av女片自拍| 免费观看国产小粉嫩喷水精品午| 日韩三级在线观看网站| 精品国产Av无码久久久伦古装| 欧美BT 亚洲色图| 97天天插| 97在线日韩中文字幕| 国产情色在线| 亚洲精品乱码久久久久久蜜桃麻豆| 97一区二区三区视频| 麻豆AV短剧| 又黄又粗又硬又长又大| 厕所偷拍在线| 久久久久久大| 天天碰操中国年青熟妇| 99色婷婷中文字幕乱色| 国产视频第2页| 校园春色中文字幕AV| 九九九九九九九九九五码| 色色99| 欧美韩国你懂得在线| 久久久久9999妇女| 精品人妻伦一区二区三区久久| 91AV天堂| 亚洲脚交| 天美传媒AV在线播放| 国产日本一区二区三区蜜臀在线观看| 国产性爱强奸乱伦大全| {男男暴菊gay无套网站| 日本免费一级AAA大片器 | 熟女突然公开看18禁影片| 91精品丝袜在线观看| AV综合中文字幕干| 欧美第一页性| A啊啊在线观看| 97爱b| 久久一二三四五六七八九区| 国产精品一区二区三区免费视频| 超碰在线人人射| 日韩激情无码影院| 天天干人妇| 91精品综合久久久久久五月丁香| 亚洲日本加勒比在线| 欧美日本久久精品一区 | 9 9精品一区二区三区| 亚洲 日韩 欧美 国产综合体| 久久久一热在线播放| 亚洲色9| 大香蕉92| 土豪酒店各种姿势玩弄极品幼稚| 欧美精品四区| 久久神马影院| av橘色网站| 好吊色青靑草| 思思热er精品视频| 韩国一区二区精品亚洲| 青青草白白色| 婷婷激情四射| 6080YYY午夜理论片在线观看| 精品一区二区人妖| 97人肏| 天美欧美国产| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 91色插| 久综合国内精品自在自线| 欧美色视| 91国内外在线| 97超碰精品图片| 久久一二三四五六七八九区区区 | 少妇500双飞99| 日韩欧美久久婷婷网站| 最新日本中文字幕| 五月天婷婷综合| 精品乱码久久久久| 色97欧美| 人人插人人摸人人| 97香蕉人人乳| 精品人妻一区二区三区在线视频不卡| 亚洲日韩美国人妻| 中文字幕在线观看网页| 性生活性生大爱77AV国产| 东京热视频网| 99超碰色| 91宗合网| 九色视频91| 牛牛久久国产精品视频一二三| 密臀在线视频| 亚洲最大无码中文字幕网站 | 99综合自拍| 一区二区三区四区五区久久久久久| 久久超碰com| 国产亚洲精品A在线观看下载| 亚洲AV无码成人精品久久| 国产日本熟女顶级一区二区三区视频| 91在线免费精品视频| 大香蕉综合久久| 超碰97久久国| AV男人天堂网| 色哟哟 日韩精品| 九九碰九九爱97| 91N综合在线| 精品国产三级av韩国在线 | 成人性爱av| 日韩情色视频| 男人的天堂va在线| 久久熟女人| 成视频在线观看免费看| 日韩无码AB| 一级性爱视频免费观看| 中文字幕二区日韩天堂| 唯美清纯 妖精视频| 91小视频| 91综合天天看| 久久老子无码午夜伦不卡| 激情四射五月天| 特级特黄一级毛片免费| 少妇天堂网络| 国产亚洲深夜激情| 青青草手机在线免费观看| 夜夜草天天| 日韩一级二级在线| 亚洲欧美日韩制服另类| 男插女青青影院| 久久精品国产精品一区| 亚洲乱色视频一区、二区在线| 97爱爱爱| 国产超碰在线一区| 中文字幕日韩人妻视频| 麻豆国产av网| 影音先锋少妇| 韩日自拍| 婷婷久久五月天| 天美传媒AV在线| 精品国产乱码久久久久久影片| 亚洲一区二区AV| 色妺妺在线视频| 百度百度日本操逼| 97精品综合久久网| 日韩国产成人自拍视频| 97精品一区| 色综合久久888| 91欧美经典| 最新AVzaixian| 91P0RNY大屁股人妻| 久偷拍| 亚洲一区二区三区不卡国产欧美| 日韩无码AB| 欧美一区二区观看在线| 久久久青青草| 亚洲伊人久久精品狠狠在线| 欧洲欧美视频一区二区| 中文字幕av一区二区三区人妻少妇 | 日韩欧美传媒一区国产| 欧美性天天影视| 强奸国产精品视频| 欧美色老汉| 蜜桃精品一区二区三区ww| 国产兽交视频在线播放| 大香蕉在线SuP| 天天日天天操心| 夜夜骑天天燥| 人妻无码视频一区二区三区久久| 就去色综合| 九九视频黄色片| 超碰97首页| 另类一区| 女性喷水高潮在线观看| 欧美日动态视频| 99热99色| 天天看天天日天天操| 黑人中出21连凳花野真衣| 自拍偷拍 高清无码| 99999亚洲| 国产美女精品| 婷婷五月天影院| 超碰成人人人爽人人爽| 国内精品久9| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 偷拍五区| 黄色AV影视| 大香焦A片| 亚洲成人在线资源| 日韩电影天堂视频一区二区| 婷婷五月天社区| 亚洲AV无码翔田千里网站| 精品视频久久| 国外91| 啊啊啊啊啊啊啊国| 亚洲成av人片色午夜乱码| 51国产午夜精品视频| 蜜臀99久久精品久久久久久| 日产中文字幕2020| 久久极品一区二区| 成人三级片无码| 日产欧美电影一区二区三区| 粉嫩AV一区二区夜夜| 欧美色图 人妻| 色噜噜人妻av 中文字幕| 无码抄逼网| 亚洲图片激情综合另类| 日本阿v天堂在线观看| 九九九偷拍| 乱子伦一区二区三区国产精品| 天天看天天综合成人网| 午夜一区| 美女黄频a美女大全免费皮| 亚洲密乳AV| 一级一性爱免费视频| 91亚洲丝袜熟女| 偷拍五区| 日日夜夜模| 日日橹狠狠爱欧美超碰| 国产精品91一样| 五月综合激情网| 久操精品网| 国产视频不卡在线观看| 亚洲国产一区二区入口| 欧美伊人久久综合网| 国产毛片片精品天天看视频| 爱逼综合| 欧美色女人| 91亚洲电影| 亚洲熟女诱惑| 亚洲综合在线第一页| 97久久超碰日韩精品| 久久精品女同亚洲女同13| 久热大香蕉网站| 精品国产国产AV| 91人妻视频在线| 夜色五月天| 97中文天堂| 91 在线亚洲| 91在线页| 97欧美精品综合| 亚洲宗合电影| 亚洲美女色图| 曰韩香蕉97| 东北操逼| 亚洲综人网| 久久久涩| 国产精品久久久久久久久久久久久久吹| 新怡红院| 亚欧美综合网| 久久只有精品| 一区二区精品日韩欧美在线观看| 国产精品爱欲| 强奸国产在线| 婷婷中文网| 奇米狠999| 思思热在线cao| 日韩一级片在线看| 五月婷婷综合网| 欧美亚洲综合色| 日韩人妻少妇中文字幕| 看黑丝美女操逼青青网站| 色婷婷婷五月天激情四射| 欧美日韩资源在线| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美一级美片在线观看免费| 黄色AAAAA欧美| 国产精品999aaa| 性爱网站一区二区| 久久人人舔人人爽舔人人av片| 中文字幕aⅴ在线视频| 亚洲欧美中文日韩视频中国语| 五月天精品| 中文字幕在线观看AV| 加勒比日本在线| 亚洲日本大香蕉1| 五十路熟女人妻一区二区在线观看| 热热色91| 熟女乱伦A| 亚洲天堂99| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲国产精品成人综合| 国产AV无码AV| 激情文学网伊人| 97公开久久| 加勒比色99999| 2021国产成人精品久久| av网页一区二区三区| 99热这里是精品| 国产天天骚| 精品妇操一区二区三区| 久久午夜色播影院免费高清| 巨爆乳一区二区爆乳区| 婷婷色婷婷| 白丝少妇一区二区| 人妻丝袜一区二区三区在线| 日韩成人精品| 日本99热| 2017天天透天天通天天擦| 九九九九精品视频| 午夜啪啪片| aⅴ日韩成人电影av在线免费看av大全 | 1000午夜黄色| 91香蕉国产尤物视频| 视频国产精品未满十八禁止在线观看| 丁香五月激情网| 99re在线视频国产| 午夜舔阴达高潮视频免费看| 女人被添高潮免费视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 手机在线人成免费视频| 少妇毛片久久| 少妇熟女一区二区三区| 啪一啪免费视频| 久久色一区| 操久久久久| 国产精品欧美日韩久久| 久久国色天香香蕉| 清纯唯美第一页| 午夜无码精品免费看性色| 狠狠躁AV| 亚洲在饯| 国产成人+综合亚洲+天堂| 欧美91在线+|+欧美| 91综合在线| 综合熟女| 91国产丝袜白虎| 91人妻素女| 香港日本韩国人妇99www.wccm20| 国产精品美女久久久久久网站| www99热| 99热线麻豆| 国产亚洲色婷婷久久99精品91葵花宝典| 蜜桃精久三区| TS人妖另类精品视频系列 | 天天享受天天看| 婷婷超| 欧美综合骚| 日韩色| 亚洲性爱高潮影院| 日本媚薬中文字幕在线| 九久9精品| 天天摸天天操视频| 333kkkk·亚洲com久久| 人人污日韩一区二区| 亚州综合色| 国产又黄又猛又粗又爽的网站| 中国91AV| 五月天激情小说网| 性色综合网| 国产精品交换一区二区| 91中出视频| 95人妻爽爽人人做人人澡| 91久久国产精品| 九九热超碰| 天天干18禁| 操操AV电影| 欧美色女人| 蜜臀精品1区2区| 亚洲无码 国产无码| 亚欧美天堂在线| 被男人吃奶很爽的毛片| 极品粉嫩少妇视频| 18禁美女裸体无遮挡啪啪| 超碰久久网| 中文字幕免费看大片| 96精品久久久| 免费一级视频特黄色大片| 夜夜春夜夜操| 久久久无码国精品无码三区三区| 啊啊啊想要| 国产久久日韩网站导航| 中文字幕精品一区二| 91丝袜在线视频| 91干熟女| 日韩情色一区二区| 成人女人国产| 97人妻免费中文字幕| 玖玖爱伊人玖玖爱| www五月| 亚洲色图欧美一区二区不卡| 九九热视频这里只有精品| 国产精品亚洲无码| 国产suv精品一区二六| 日本 欧美 国产一区| 欧美乱欲| 亚洲在高跟鞋自慰久久在色线| 无码高清专| 99999re| 亚洲91网。| 精品在线观看视频在线| 9丨久久九九九| 久久久熟妇熟女国产| 97欧美性爱| 丰满人妻一区二区三区免费 | 精品大久久| 天天操天天干一区二区 | 日韩成人人妻网站| 亚洲精品一区二区日本| 欧美爱国产综合、| 2024黄色视频| 四虎在线播放| 99成人| 性爱视频免费网址| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 亚洲青色欧美| 99精品久久久久久久婷婷蜜桃| 欧美高清第一页| 亚洲视频二区 | 91成人精品在线播放| 色五月av| 欧美色自拍| 偷拍伦理视频| 色情乱伦AV| 亚洲天天综合| 无卡一区=区| 99re视频在线观看这里只有精品| 国产操逼网站亚洲一级黄色| 亚洲资源网| 亚洲熟女国产综合另类| 国产小u女在线观看| 天天干天天舔| 人妻天堂三区| 亚洲日韩XXX| 熟妇最新先锋一二三区| 午夜男人一级A片7777| 中文字幕一区二区三区四区在线视频| 青青草大香蕉视频| 性性久久| 丁香五月天婷婷姐| 久久丁香五月婷婷| 亚洲天堂中文字| 国产福利精品98视频| 亚洲另类色综合网站| 欧美日韩少妇色情| 美女露胸露屁股| 五月天综合在线| 黄片免费看的| 久久这里只| 少妇色综合| 国产二区三区粉嫩在线| 亚洲另类久操网| 九九av| 国产18精品亚洲精品| 五月婷婷丁香六月丁香| 97操| 91人妻在线视频| 精品人妻一区二区三区蜜桃视频| 狠狠躁天天躁日日躁| 啊啊啊 在线观看| 亚洲第一综合| 超碰人人在线| 蜜臀操逼黄色视频操的好爽| 成人无码电影在线观看网| 水多多映视AV| 蜜臀久久99精品久久久久| 91女日逼| 东京热91| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 日韩欧亚中文在线| 97精品国产手机| 91视频观看网站| 天天看综合网| 粉嫩国产精品久久粉嫩| 这里只有精品久久| 长长久久88视频| 色五月婷婷在线| 色综合久久888| 久热久| 99精彩视频| 91粉芽高清在线一区二区| 色婷婷久久| 丁香六月激情| 男人的天堂网免费| 夜夜嗨一区二区| 天天添天天干电影| 精品国产网站| 很黄很污的免费网站| 中文字幕乱碼在线| 久久綜合很很很| 成人久久精品| 欧美成人综合| 亚洲熟女一区| 久久久91福利姬| 丰满少妇精品一区二区| 2017,超碰| 久这精品中文在线观看视频| 亚洲天天操| 免费无码婬片AAAA片直播色戒| 日本性感人妻91| 人人妻人人爽 97人人看碰人免费公开视频| 豆花视频操逼网址| 日va操| 天天干人妇| 男人天堂一区二区| 欧美性后入| 1024手机看片欧美日韩| 久久久内射良家| 夜夜夜夜久久久久| 国产精品九九九| 伊人网青青| 成人a大片在线观看| 亚洲精品亚洲人成在线麻豆| 欧美性爱视频免费一区一A| 巨爆乳肉感一区二区三区竹菊影视| 色婷婷亚洲婷婷| 亚洲日韩肥臀视频在线观看| 99999精品成人| av72网| 天天综合91入口| 成·人免费午夜在线观看| 欧美一级美片在线观看免费| 午夜乱轮操逼视频免费看| 综合免费无码中文| 日本免费中文一区二区三区四区| 亚熟在线| av日韩中文字幕| 欧美成人免费在线观看| 日韩 欧美 视频 在线 一区| 另类在线| 男生女生啊啊啊啊| 少妇熟女视频一二三区| 蜜臀久久99精品久久久| 国产91精品福利在线| wwwss在线观看| 大香蕉一人在线| 亚洲欧美清纯| 伊人久久综合影院| 韩国一级做A片免费的| 97在线视频观看| 一区二区三区成人| 久久久久久性爱免费视频| 国产中文大片资源中文字幕| 99久在线精品99re8热| 99啪啪| 天天欧美| 亚洲一区二区久久久久| 成人综合色网| 日日干夜夜骑| 精品国模无码| 91久久久久久| 和协无码影院| 国产尤物在线三区| 日本成人A片网站| 久久精品欧美一区蜜桃| 91久久久久久久| 91夜色| www.yw尤物| 亚州男人的天堂| 欧美欧美啪啪视频| 婷婷五月天基地| 91人妻久久久久久久久久久久久| 免费试看60秒| 性爱av网站| 亚洲人91| 久久久96| 日韩人妻少妇 一区二区三区| 91男人天堂网| 情趣丝袜无码操逼视频| 久久亚洲不卡| 91痴汉| 亚州操逼图| 久久111| 日韩电影免费网站麻豆视频| 欧美大片一区二区三区| 日日夜夜模| AAAA级日本片免费视频| 91天堂丝袜美腿| av优播| 夜夜操91744565| 亚洲欧洲日韩国产自在线| 亚洲有码视频二区| 国产东北女人在线视频| 欧美激情视频一区二区三区不卡| 男人的天堂99| 午夜国产成人福利视频| 麻豆人妻少妇在线免费观看| 人妻铁牛TV| 久久98| 色97欧美| 999国产精品999| 日本不卡一区二区三区| 男人天堂黄片| 啊啊好多水| 国产真乱mangent| 亚洲欧洲视频小说在线观看| 欧美91变态| 99热精品在线在线| 中文字幕人妻丝袜乱一区三区| 欧美成人性爱视频免费观看| 欧美性生活内射| 波多野结衣被操50分钟免费视频| 精彩国产视频播放1区2区| 午夜舔阴达高潮视频免费看| 91啪9色| 色吧 综合| 国产天天骚| 国产91福利小视频在线观看 | 影音先锋乱| 日日嗨AV一区二区夜夜| 欧美日韩国产三级黄色| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 久99久视频精选| 思思热国产高清| 2025亚洲男人天堂| 伊人网青青| 日日夜夜草草草| 亚洲一级性爱视频免费看| 精品176精品2| 国产精品嫩草影院免费| 天天操天天7| 色999五月色| 极品少妇久久久久| 操91| 2023天天操夜夜操| 91美女在线视频| 国产极品美女高潮无套在线观看| 欧洲亚洲人人爽爽视频| 十八禁视频网站| 色香天天| 久久国产视频专区一二三| 黄色片一区二区三区四区五区| 国产精品久久久久久久久久久久久久久| 亚洲制服aⅴ中文字幕| 日本一级不卡一二区| 9999久久久久| 蜜臀久久99精品久久久久久婷婷| 91扒丝袜综合在线| 欧美少妇性爱网站| 精品人妻一区二区三区四区| 国产精品老熟女一区二区| 亚洲影院无码在线| 91n免费处女| 久久久久久久人妻| 国产精品一二三区18| 天美一区在线| 国内外色色色色色成人视频| 国产在线综合网| 综合九九| 免费视频a级毛片免费视频| 一起草视频在线| 午夜欧美神马久久久久| 国产一区二区欧美日本| 国产一区在线播放| 欧美国产有色电影| 丁香五月婷婷啪啪| 老子午夜伦不卡影院| 亚洲综人| 日本精品88888888| 欧美成人一区二区三区在线播放| 国产99999| 超碰精品| 99热66| 日韩亚洲精品一区二区| 成人性交午夜免费片| 狠插 制服 自拍| 免费一级欧美片片线观看| 日韩欧美性爱电影在线观看| 激情婷婷丁香| 内射白嫩美女| 成人网站 免费观看| 国产激情视频一区区三区| 精品国产久久乱码| 婷婷成人久久久精品| 久久无码成人| 色色毛片| 午夜精品久久久久久久第一页按摩| 久久超碰免费的| 99热这里只有精品8| 黄色激情电影在线观看| 天天网综合| 久久 久久国内精品亚洲| 青娱乐导航AV| 老司机老司机午夜影院| 国产婷婷综合在线观看| 欧美姓爱综合网| 智利AV在线网| av情色影音| 天天日天天舔天天喷天天射| japan日本高清乱xxxx| 国产成人在线观看网址| 亚洲熟女一区二区| 青青草玖玖爱| 午夜久久一区二区无码中出| 99热综合| 亞洲久久直播| 午夜操逼不卡| 色网站导航大全| 久久加勒比| 超碰九九| 日韩欧美中文字亚洲慕| 大香蕉综合久久| 亚洲精品蜜桃久久久一区二区三区| 国产热RE99久久6国产精品首| 日韩精品在线观看观看| 精品视频在线观看精品| 葡萄牙性视频一二区| 国产第11页| 日欧毛片久久| 精品十三区| 蜜桃臀 后入 一区 二区 三区 在线| 午夜婷婷| 久久丁香五月天| 2024人人操人人摸| 日韩av不卡在线观看| 日韩亚洲国产视频| gogogo免费高清看中国国语| 亚洲欧美小说| 天天色图| 女人天堂av在线播放| 2017亚洲天堂| 美女网站91| 九热久| 亚洲高清91| 97国产精品一区二区传媒公司| K8久久久久| 日本亚欧爱爱| 骚鸭AV| 9美女超碰在线免费观看| 亚洲情色 无码专区| 夜夜操夜夜高潮夜夜爽国产精品区| 日韩少妇无吗| 97视频900| 亚州欧美一区| 亚洲偷91色| 亚洲色悠悠久久88| 熟女露脸激情自拍视频| 视频黄站| 亚洲天在线| 狠狠躁伊人中文字幕| 久久嫩草| 蜜臀久久99精品久久久久| 懂色Av| 亚洲日韩天堂| 日韩性爱啪啪视频| 亚洲欧美一区二区网址| av毛片aaaaa免费看| 中国农村熟妇毛片视频| 97人人夜夜精品视频| 久久无码成人| 日本女优在线视频福利| 亚洲一区二区精品福利| 91久操| 97色在线观看| www.一本大99| 精品网站99999| 性九九九九九九| 成人区人妻精品一| 哈哈操电影| se吧提供91精品国产91久久久久久| 亚洲熟女性高潮久久久| 日日天天久久啊啊aaa| 国产成人www免费人成看片| 8050午夜少妇无码| 五月天婷婷综合| 亚洲熟妇图片| 麻豆一区二区三区精品| 色五月激情AV在线| 日本一二三免费久久| 久草在线| 大香蕉乱级| 亚洲欧美在线观看无码| 久久无码电影| 中文字幕高清20页视频 | 毛片电影一区二区三区| 九九成人| 爱爱动态试试看6 0秒| 亚州欧美综合| 91情色| 国产区性爱在线视频秋霞豆| AV电影在线播放| 国精品一区二区三| 插入粉嫩少妇视频| 色欧洲| 亚洲国产一区二区入口| 嫩草 我啊~嗯~在线| 日本999精品| 国产美女91视频| 国产美女口爆吞精视频| 为用户提供免费看黄网址在线观看| 久久久久亚洲Aⅴ无码| 亚州操逼网| 精彩视频日韩| 亚洲国产精品久久久久婷婷老年| 少妇高潮九九九九| 99精品久久久久久久婷婷| 久热香蕉精品在线视频| 国产在线76页| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 岛国网址国产| 天天流夜夜操| 国产成人精品午夜福利| 欧美乱欲| 翔田千里AⅤHD无码| 五月激情综合网| 东京热不卡视频| 一区二区乱码福利| 日欧操屄视频| 午夜啊啊啊| 亚洲综合20p| 99久久久无码国产精品性男| 天天操天天射青青草| 妇女乱色二区| 精品久久久久久中文字幕三区| 久久人妻办公室视频| 亚洲自拍欧美色综合| 中文乱码字字幕在线第5页| 亚洲各类熟们中文字幕| 国产天天看| 天天操妹子| 日韩中文字幕视频在线观看| 好看的91视频| 野狼福利社区| 欧美成va视频网站| 欧美熟妇亚洲版| 久久大黄片| 婷婷五月天影院| 97在线亚洲| 粉嫩粉嫩一区性色AV片| 亚洲综合影视| 亚洲久久久久| 欧美色婷婷| AV在线播放网址| 免费亚洲黄色视频在线观看| 色综合潮|