国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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
返回資訊列表
狠狠97| 超碰91在线| 日韩欧美蜜桃精品久久中文字幕久久| 伊蕉97蜜桃97狠狠综合干| 蜜桃视频成a人v在线| 青青草好吊色| 97情超碰色| 中文久久一区| 嗯啊不要啊在线 | 欧美精品久久久久久久丰满| 懂色影视久久| 中文字幕久久亚州无码| 久久精品成人一区二区三区蜜臀 | 99在线精品观看视频中文| 国产久久久9999| 欧美激情五月天| 凹凸视频在线观看伊人| 秋霞午夜成人福利片片| 国产农村妇女毛片精品久久| 日韩不卡一二三四| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 蜜臀久久久| 欧美图片偷拍| 97色色婷婷| 色噜噜人妻丝袜a∨先锋影 | 国产成人啪一区二区| 嗯嗯,啊啊,国产精品| 精品-91人妻子系列| 香蕉黄色一级视频| WWW操逼| 久久久久久精| 四虎免费在线观看| 欧美色图91| 欧美97爱| 最近2018中文字幕在线高清第一页 | 男人天堂新| 一本一道久久综合久久| 天堂成人网| 欧美日综合| 国产精品另类一区大香蕉| 亚洲怡春院| 婷婷探花久久精品一区| 啊啊啊轻点在线观看| 久久高清无码夜夜操| 97天天弄| 久久久久深夜无码| 人妻少妇精品视频一区二区三区| 欧美色狠| 天天躁日日躁AAAAXXXX国产| 国产女生在线| 97久久视频| 九九成人视频| 日韩av三四区| 蜜臀久久在线视频| 亚洲欧美综合网站| 97久久国产精品女不卡| 色吧91| 很很操在线| 亚洲欧美高清无码| 亚洲一区二区三区欧美日韩| 五月天婷婷成人网| 操逼精品视频| 女人18精品一区二区三区| 校园春色亚洲色图| 欧美欧美啪啪视频| 淮穴色AV| 熟女欧美日韩综合婷婷| 公司1区2区3区精产精| 老熟女天天操| 一个国产在线综合网站| 性色av网站| 91精品久久久久久77777| 日本免费中文一区二区三区四区| 91热情品| 校园春色美腿丝袜 | 欧美丰满少妇xx高潮| 另类专区在线观看| 国内97干免费看| 青青草影视蜜久久| 国产精品久久久久无码Av网曝门 | 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 91看黄片| 色婷婷网| 青青草色情网站视频| 熟女露脸激情自拍视频| 黄片免费视频2019| 97色在线| 97在线观看视频| 中国人高清www色视频免费| 欧美激情性久久久久久| 天天做天天爱天天高潮| 美女黄码视频午夜| 中文字幕蜜乳av| 欧美亚洲| 色爱欲亚洲| 国产熟女无套内射| 秋霞无码av鲁丝片一区| 人妻一区久久二区三区色播| av2014 日韩在线中文字幕| 国产一区二区三区白丝| 无码免费一区二区三区啪啪| yazhouzaixian| 成人羞羞视频国产| 91蜜臀熟女| 欧美综合色| 欧美日韩操逼动图| 少妇69中文| 99久久99久久免费精品蜜臀| 国产欧美一区二区| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 后入式视频国产自| 蜜乳AV.COM| 黄色乱论网站| 91综合色噜噜| 天天干天天日天天射黄色| 成人区人妻精品一| 涩五月婷婷| 中日992视频| 淫荡少妇免费| 干b网| 天天看,天天做| 蜜臀va69| 亚洲男人的天堂亚洲| 超碰97.com| 操逼操网| 一本大道青青| 91 刺激在线| 午夜传煤十二区精品| 午夜福利成人免费视频| 九七超碰人人乐| 97人人操人人干| 色路综合| 久久偷拍人| 超碰色男人操熟女| 人妻熟女一区二区| 国模吧 一区二区三区| 中文字幕第二页| 夜夜草网站| 黑人性暴力毛片| 99视频内射三四| 日韩啪啪视频| 精品视频97| 熟女五十路一区二区三| 日本精品久久久久久久| 91在线精品| 亚洲欧洲无码一区夜| 人妻 中文 日韩| 中文字幕伊人| 九九aV| 欧洲精品二区| 亚洲国产综合久久久性感熟妇| 日韩大香蕉AV影片| 丰满少妇一区二区三区专区| 国模精品娜娜一二三区| 九九九国产| 综合五月天| 中国一级αV| 九九九综合精品| 日韩成人性日韩成人性爱视频在线免费观看| 97干在线看| 老熟女乱伦一区| 欧洲精品网| 亚洲黄网在哪免费看| 日韩无码服务区| 久久一区二区高清免费| 清纯唯美激情| 青青草视频久久久久| 奇米狠999| 国产91丝袜在线播放蜜月| 婷婷综合五月天| 日韩一级欧美一级国产一级台湾 | www亚洲免费| 热久久无毒不卡| 国产色精品午夜大片| 东京热男人天堂| 夜夜久久| 久久超碰亚洲人| 日本熟女免费視颖| 亚洲男人在线观看天堂| www.AV有限公司一区| 亚洲激情在线| 天天干夜夜操网| 欧美日韩久久精品爱爱| 亚洲极品| 久久精品91| 欧美色图 人妻| 黄色乱论网站| 日本天天吊| 一起草日韩| 啪啪啪亚欧美视频| 亚洲,欧美,综合网| A一级色女| 亚洲AO在线| 婷婷操逼| 久久久久成人亚洲国产| 久久免费99精品久久久久久| 伊人丁香五月婷婷| 人人搞人人插人人操| 无码九九九九| 午夜久久久| 久久精品视频在线观看| 欧美老妇综合网| 韩国久久97| 色一色综合网| 日韩成人精品视频自拍| 色黄污美女啪啪啪免费网站| 人爽不卡视频| 蜜臀久久99精品久久久久久| 综合影院永久入口国产| 玖玖爱影院| 色情乱伦AV| 丰满美女一级毛片在线播放| 强奸乱伦 亚洲一区| 日韩大香蕉AV影片| 东北女人高潮视频| 亚洲高清综合网| 亚洲精品久久久久久久蜜桃臀| 97国产综合欧美| 超碰视97中文| 精久久久| 国产蜜臀精品一区二区尤物| www久久精品| 亚洲日韩XXX| 丝袜av一区二区三区| 国产原创精品| 亚洲精品一二三四区| 91 在线亚洲| 亚洲精品男人的天堂| 亚洲欧美一区二区三区一猛片| 91人妻中文| 久久欧美性爱视频| 欧美日韩性爱精品| 骚货| 2020中文字幕在线| 免费视频观看60秒| 亚洲色欧美| 国产亚洲色婷婷久久99精品91 - 百度| 男人天堂2030| 日韩成人性日韩成人性爱视频在线免费观看| 欧美性色欧美| 麻豆久久精品亚洲精品88| 国产精品高清2021在线| 7777欧美成是人在线观看| 在线综合色| 日韩九区| 台湾佬中文娱乐自偷自拍| 麻豆天美传媒在线视频天堂| 亚洲 欧美 日韩另类 麻豆| 五月天婷婷社区| 一区e区三| 午夜福利国产欧美日韩夜夜| 三级色综合| 日韩乱伦视频| 青青草在线视频欧美| 1204av韩国| 啊啊啊不要嗯嗯在线观看| 在线播放欧洲免费av| 久男人久久| 日韩av在线精品观看| 国产日韩在线播放av| 超碰色男人操熟女| 丁香五月影院| 综合一区二区影视| 人妻少妇久久中文字幕一区二区 麻豆| 亚欧性爱无码| 99热这里只有精品99| 偷拍欧美综合| 超碰在线91| 日本 色 导航| 精品久久在线区一区| 操逼999| 激情小说亚洲色图| 黄片不用下载在线观看| 久久久不能久久久久| 99999国产| 日韩欧美成人综合在线| 欧美超碰9798| 欧美亚洲首页| 91超级碰碰碰| 欧美亚洲成人在线一区二区三区| 粉嫩av在线| 色情五月综合婷婷| 人妻免费观看| 精品一区二区国产日韩| 屌色在线97视频| 中文字幕乱偷人妻久久艾草网| 亚洲日韩电影| 青青草天天亲夜夜操网| 屁股久久久久久久久| 1769一区| 中文字幕视频在线观看一区二区| 欧美+日产+中文| 人人操人人摸人| 日韩中文字幕av在线播放| 91精品网站| 午夜偷拍久久熟女| 日韩天天综合| 国产福利影视| 久久成人午夜狠狠| 天天色天天干天天射| 狠狠躁AV| 嗯啊不要在线| 日本天堂网| 久久丁香久草综合网| WWW啪啪的com| 97超碰精品成| av天堂手机版追回| av天堂加勒比| 91日本在线观看| 舔人妻中文免费视频| av无码av无码专区| 龙兴卡官方查询| 亚洲AV无线| 中文字幕AV片| 97色伦97色伦国产欧美| 久草婷婷| 国产精品自在线发布| 伊人在线大香蕉二。| h无码动漫在线观看| 中文字幕诱惑制服人妻丝袜美丝袜美 | 九九操久久国产免费视频| 亚州AV无码国产精品| 中文久久96| 国产亚洲精品农村妇女 | 操逼视频亚洲| 97色操| 久超碰在| 乱伦图一区| 走光一区92下载| 国产精品蜜乳AV| 青青在线视频免费| 激情图片亚洲色图| 狠日操| 色一区二区三区综合| 99久re热视频精品98| 中文字幕av亚洲精品| 午夜精品久久久99| 成人福利视频网| 视频二区美腿制服人妻欧美| 草b在线 | 丰满人妻大屁一区二区| 国产吹潮女在线观看| 免费观看欧美日韩操逼视频| 久艾草在线精品视频在线观看| 日韩中文字幕2020| 加勒比大香蕉视频在线| 国产多人在线观看视频| 青青草原成人| 婷婷色综合| 激情无码日韩| 亚洲天堂久久久久久粉红视频| 欧美精品偷拍| 中文字幕一二三区| av天堂手机版追回| 欧美成人性爱视频在线播放| 亚洲色图一区二区三区| 激情人妻另类| 观看免费区二区三区二| 亚洲精品日韩国产欧美| 黄色香蕉视频网站一区| 麻豆一区二区三区在线看 | 99精品无码| 日韩av熟女一区二区三区成人| 大香网站| 国产午夜福利专区综合| 91狠狠狠| WWW美腿丝袜香蕉中文| 亚洲色偷偷色噜噜狠狠99网| 色色五月天激情| 老司机天天操| 亚洲精品久久久久毛片A片拉屎 | 老鸭窝成人免费毛片视频| 欧美激情久| 亚洲欧洲小说图片视频 | 青青草天天亲夜夜操网| 不卡av在线中文字幕| 欧美日韩小说| 亚州Av天美传媒| n1038 一二三区| 99精彩视频| 日本午夜久久电影| 日本精品第一视频在'| 色哟哟综合| 精品视频一二三中文| 亚州高清AV| 欧美熟女丝袜| 秋霞午夜视频一区二区| 性交一区二区在线播放| 蜜屁Av| 热久日综合| 人人手机欧洲亚洲国产人妻| 麻豆久久久久久久久丝袜| 久久久久免费少妇| 亚洲情色91| 天天操av懂色| 天天综合网在线| 国产天天骚| 久久久久久大| 91欧美成人色站| 一区二区三区四区姦女| 欧美美女后入| 亚洲天天自拍| 亚洲丝袜少妇在线| 超碰在线人人射| 呦呦一区| 国产精品一区av在线| 99re免费视频精品全部| 国产理论视频在线播放| 亚洲综合一区二区| 亚洲色偷偷色噜噜狠狠99网| 69AV女优男人的天堂| 免费久久9999| 校园春色家庭伦理欧美激情| 91天美免费| 外国免费性情大片| 超碰97亚洲| 丁香五月婷婷色| 久久久成人国产精品无码| 亚洲精品日韩国产欧美| 九九亚洲| 欧美色图成人网一区二区| 2017大香蕉国产精品久久| 天天干人妻视频| 91av熟女人妻| 久久久97| 亚欧美综合网。| 国产熟女一区二区| 韩国一级婬片A片无码天美| 激情小说日韩无码| 六月丁香啪啪| 草蕉影视亚洲无码| 在线 欧美 亚洲| 欧美宗合色| 性暴力欧美猛交在线直播| 欧美一级特黄淫片在线观看| 久久久九九网站| 日本亚洲vr欧美不卡高清专区| 亚洲综合99999| 精品国产乱码久久久久久免费| 97超碰欧美| 久久性爱视频免费看| 免费a在线播放v| 97欧美精品综合| 骚货 中文字幕 av| 思思热在线视频在线| a v网站在线播放| 2020国产精品| 国产中文字幕在线| 日韩性爱毛片操骚逼| 久热婷婷| www.av不卡中文字幕| 翔田千里AV无码秘 三区| 欧美性生活综合| 亚洲中文字幕日产无码久久| 91性片| 一区二区三区四区免费视频| 天天射天天操天天干天天吃2018| 亚洲密乳AV| 久操九九九九| 中文字幕一区二区三区人妻不卡| 欧美,日韩综合久久| 黄色小说亚洲| 五十路三区在线| av天堂5| 亚洲黄色网址| 1769国内精品视频| 伊人久久亚洲中文字幕| 中文字幕三四区| 天天插天天射| 狠狠色五月亚洲91| 桃花色涩综合影院| 91综合天天看| 天天日夜夜爽| 熟妇人妻丰满久久久久久久无码 | 欧美人妻一区二区| 色综合av男人天堂| 亚洲自拍欧美色综合| 天天躁日日躁xxxxx| 久久做97| 国产成人午夜视频网址| 91天美传媒在线| 台湾成人无码AV| 午夜后入| 蜜臀AV网站| 综合色久欲| www国产天美久久久| 欧美激情色婷婷花野真衣一区二区| 日本一区二区三区午夜观看| 青青草在线视频欧美| 亚洲**2021在线观看| 久久综合日韩亚洲欧美| 国语对白露脸XXXXXX| 欧美亚洲影视| 久久久久久久久成人av解说| 我爱操| 激情综合五月| 夜草网站| 丝袜色综合| 一本久道久久综合狠狠爱| 东京热天堂网| 日日日啊啊啊| 国产色精品午夜大片| 天天爱综合网| 97免费在线视频在线观看| 曰韩人妻中文字幕在线| 久久久久久久久久久999| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 蜜桃成人1区2区3区| 午夜性生活av免费在线看| 91最新综合| 97在线精品观看视频| 97操B| 91亚洲精品青草| 国产强奸乱伦xd| 91精品婷婷国产综合久久| julia高潮后不停追击中出| 久久久久亚洲三级电影| 久久9精品网站| 色一射色一射| 91成人久久| 精品传媒在线一区| 九九国产| 欧美老妇综合网| 久久久久国产精品喷潮免费观看臀| 东北女人高潮视频| 亚洲淫乱骚妇AV| www色日本| 久久性爱精品一区| 欧美 亚洲 在线| 精品乱码久久久久| 亚洲AV无码天美传媒一区| 国产曰批免费观看久久久| 久久久久九九九| 98福利在线视频| 欧美乱色| 国产精品亚洲一区二区三区四区| 伊人热综合| 欧美性性性| 欧美韩国你懂得在线| 亚州国产精品乱| 亚洲αv一区二区三区| 丝袜亚洲综合| 久久久96| 欧美综合1性辶| 岛国999| 人人操天天爽| 国产有码一区| 欧美亚洲综合色| 亚洲一区二区中文字幕| 人妻一区视频| 欧美黄色片在线播放| 青青操国产夫妻| 96精品一区| 欧美91精彩| 人妻熟女一区二区三区在线| 丝袜内射| 麻豆久久视频在线地址| 2018色综合天天操| 韩国黄片aaaa| 高清国产成人无码| 亚洲欧美色图小说| 乱伦熟妇一区二区| 天天综合91| 国产偷人伦激情在线观看| 97这里有精品| 久久一区二区蜜桃| 9丨久久九九九| av天堂加勒比| 亚洲欧美不卡线| 91制服丝袜中文字幕| 久久久久久99999国产精品| 精品妇操一区二区三区| 亚拍在线| 99热这里都是精品| 久久欧美激情| 日本操逼视频免费| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 国产女人极品高潮毛片| 成人亚欧免费视频| 在线人人人人人人精品超| 日本色色色色色视频| 91成人久久| 日本精品不卡一二三区| 夂久色| 日本超碰在线国产一区| 久久精品视频久久久| 日韩 人妻 精品| 亚洲色图加勒比| 九九av| AV中文字幕三四五| 女性91网站| 久久久久亚洲熟妇熟女| 国产精品一区二区校花| 97色色婷婷| 色精品极品| 后入式五六区| 精品91日日夜夜超清资源| 亚洲啪啪综合?v一区综合精品区| 一级人妻性爱视频| 97综合在线| 天天淫人人妻日日色| 欧美日韩国产电影| 中文字幕第95页| 又大又大又大又粗爽高潮观看| 中国操逼无码| 久久精品一区二区一8| 操国产逼| 国产精品久久伊人| 岛国小电影| 啊啊啊啊好大好硬啊啊啊啊啊| 精品传媒在线一区| 天天干天天操天天干天天操 | 9I1性色影院| 亚洲?V无码专区在线电影| 五月天黄色激情视频| 玖玖97综合| 97超视频在线观看| 欧美片第一页| 激情综合网激情五月天| 亚洲 欧美 另类 日韩 人妻一区| 丝袜加勒比| 亚洲无吗在线视频| 麻豆天美国美国产| ...日韩成人一区二区三区字幕| 啊啊啊啊啊啊好多水| 无码少妇精品一区二区60岁老人| 久久一区,青青青青草视频在线播放| 蜜臀th| 日本潮催一卡操| 五月天激情小说| 色香综合天天影视综合| 欧美人人操人人插| 狠狠中文字幕| 亚洲美女高潮喷水视频| 1禁看欧美黄片免费看| 嗯嗯嗯不要不要免费视频| 欧美色亚洲色| 国产精品无套内谢| 天天内射| 日本人妻中文字幕 | 黄片免费日韩| 欧美精品四区| 99热在线只有精品| 日韩黄色成人性爱| 69久久| 久久久精品视频免费观看| 欧美午夜色妇色鬼| 大香蕉一级黄色片久久| 女人喷水视频在线观看| 夜夜免费视频| 韩日性爱av| 日B操| 日韩AV电影网站| 久操免费在线| 一区二区偷拍拍视频| 亚洲女优有码无码高清| A片三级无码| 老熟女综合网 | 亚洲大色堂| 欧美日韩免费性爱| 中出789在线视频| 日韩免费三级黄片电影| 久久男人网| 国产极品粉嫩馒头一线天av| 色综合99| 啊啊啊啊啊啊啊啊在线观看| 欧美人妻二区三区| 亚洲97成人在线观看| 亚洲影院小综合| 99re免费视频精品全部| 久久 久久国内精品亚洲| 国产熟女完整版中字| 91性感网站| 看黄片视频免费| 夜草欧美| 国产亚州高清国产拍精| 亚欧美色图| 在线性黄高清免费视频| 人人妻人人爽人人精品| 五月天婷婷综合| 伊人操| 亚洲精品欧美专业| 日韩成人大片在线观看| 亚洲国产日韩精品久久久| 加勒比大香蕉视频在线| 青娱乐淫乱1314| 91AV天美在线视频| 强奸乱亚洲| 亚洲丝袜综合| 日本精品免费一区二区三区四区| 国产精品久久久久久久久AV大片| 抽插亚洲无码| 亚洲一二三精品久久网| 777AV电影| 91n欧美| 国产AV天美| 日本五十路熟女一区二区| 97 国产精品| 人妻精品一区二区全免费| 亚洲一级特黄大片在线播放91| 狠狠干2020| 日韩乱码Av| 99re久久| 日本高清视频xxxx| 91狠狠狠| 老师充足的奶水小说| 一起草av| 欧美成人一区二区三区在线播放| 97在线观看免费视频| 超碰在线综合97| 91老司机在线视频免费观看| 成年人一级黄色毛片大全在线观看| 亚洲人妻爽爽爽| 呦女网站| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 黄片免费视频2019| 日韩人妻无码不卡网站| 亚洲综合图色在线| 欧美人妻二区三区| 激情五月丁香五月| 强奸乱伦亚洲第一页| 人人操人人肉久久精品| 综合少妇网| 老女人老91妇女老热女| 久久9精品视频| 国产成人精品亚洲日本| 日韩不卡在线一区二区| 色综合加勒比| 久久久久久加勒比| 色在线69堂| 樱花草社区www中国| 啊啊啊不要好疼视频| 亚洲精品无码少妇久久| 欧美黄片欧美黄片xxx| 日本潮催一卡操| 69一区二区| 操久久久久| 最新AV在线| 中出20p| 91国产在线精品| 中文字幕人乱码中文字的预防方法| 久久欧美1卡2卡3| 色欧美天天| 97人人干人人操| 任你艹| 91狠狠综合久久久| 嫩草一区二区在线观看| 欧 美 自 拍 偷 拍| 国产福利视频精品视频| 中文字幕第9页萱萱影音先锋| 亚洲天堂男人网| 伊人91| 蜜臀久久99精品久久久久久酒店 | 熟女精品一区二区三区| 99热精品在线播放| oumeisetu综合| 91老司机在线视频免费观看| 91精品国产综合久久久蜜臀| 97超碰色屌| 久久深夜无码| 91挑色欧美| 97在线观看免费视频l| 欧洲精品区| 亚洲精品黑丝| 97人人夜| 91大神精品长腿在线观看网站| 永久免费观看的毛片的网站| 秋霞一集毛片观看| 亚洲熟女精品| 国产精品久久久久久久久AV大片| 亚洲色诱惑| 发朗少妇买婬全视频中文| 国产精品91一样| 久久成年精品| 欧美亚洲激情一二三| 国产免费一区| 日韩内| 亚洲高清视频在线免费观看| 日本性交操一区二区不卡系列| 亚欧成人中文字幕一区| 国产精品一区二区黄片| 麻豆久久视频在线地址| 午夜综合在线| 青青青青青手机视频| 熟妇乱伦一区二区| 国产女同在线观看视频| 国语对白在线播放视频| 九九成人| 久久綜合很很很| 伊人97| 亚洲国产精品成人综合| 亚洲免费成人精品电影| 欧洲天天在线| 好看的91视频| 97亚洲中文| 午夜久久一区二区无码中出 | 亚洲AV无码翔田千里网站| 欧美性爱免费短视频| 人妻熟女av国产网站| 国内偷自视频区视频综合| 天天做天天爱天天爽| 性色国产东北露脸精品视频| 青青久久久| 2019精品国产无码成人| 免费久久精品麻豆一区二区av| 久久久草成人网站久久久草成人久久久草久久久 | 天天日天天舔| 亚洲男人天堂2013| 后入式999| 久久精品国产99精品亚洲蜜...| 97人人超| 熟女高潮合集-永久久久-成人AV | 久久嫩草| 亚洲一区二区三区AV无码| 人妻激情另类| 男人的天堂com| 日韩中文字幕人妻视频| 伊人久久亚洲中文字幕| 日本男人天堂| 8050午夜少妇无码| 日韩99神马视频播放| 亚洲无992tv| 亚洲啪啪性视频| 啊啊啊不要啊啊受不了了视频在线 | 围产精品一区二区三区视频播放| 暖暖精品二区三区观看| 免费视频观看60秒| 韩国午夜理伦三级好看| 国产日韩精品一区二区三区| 97干在线| h在线看免费版在线看| 99精品久久久久久| 精品偷拍13p欧美dodk视频| 国产13区| 超碰在线人人射| 999久久久九| 亚洲国产熟妇综合色专区| 亚洲操逼无码| 五月天九九日国产精品一区二区三区| 亚洲91在线播放影院| 国产性刺激| 91高潮| 九九九九久久久| 日韩欧美三级| 插穴性爱视频在线观看| 无码操逼天堂| 亚洲黄色网址视频| 9久9久9久9久视频网站| 日本99视频| 啊啊啊操死我| 爽爽爽免费视频| 国产多人在线观看视频| 东北黄色电影| 免费?级毛片无码?∨蜜芽试看| 欧美三级免费伊人| 超碰97护士| 国产精品青青草| 91无码人妻精品一区二区三区蜜桃| 精品v日韩欧美国产| 超碰欧美97资源| 90后性网国产欧美| 日韩一级二级三级在线不卡观看完整| 亚洲aV性爱| 亚洲熟女av中文字幕| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 97碰碰色| 欧美se亚洲| 久久久久免费看少妇A片特黄| 亚洲天堂第一页| 亚洲少妇综合在线播放| 超碰社区97| 色婷婷综合网站| 麻豆国产97在线| 伊人991| 1769精品一区二区三区| 麻豆久久一区二区三区| 大香蕉天天看妹子| 黑丝自慰喷水网站| 欧美色图20p| 国内操逼视频二区| 强奸乱伦av电影| 亚洲情欲| 啊啊啊好大好湿| 在线看的av| 奶水 人妻 哺乳 在线| 亚洲国产精品久久久久婷婷青年| 亚洲清纯综合| 熟妇艹鸡八| 欧美成人午夜免费福利785| 久久久一区二区| 这里都是精品在线观看| 国产捆绑一区| 中文字幕文字幕无码一区二区三区电影99 | 亚洲天堂热| 丁香七月婷婷| 日本999精品| 色噜噜综合在线| 亚洲激情综合另类男同| 啊啊啊啊,啊啊好多水| 91色艳| 亚洲图片欧洲图片aⅴ| 精品久久視頻在线| 国产精品嫩草久久久久| 色九久| 97在线日韩中文字幕| 91蜜臀在线久久久久| 美女尤物人人操| 超碰精品日韩欧美国产| 亚洲成人帖图| 精品久久久久黄少妇| 天天天天操| 成人性爱美曰韩| 精品人妻少妇| 天天综合网亚洲综合网| 99热在线不卡| 亚洲AV免费在线观看| 曰韩成人免费视频| 亚洲啪AⅤ永久无码| 麻豆三极片| 玖玖无码超碰| 日日噜噜夜夜久久亚洲一区二区| 歐美一級亂黃99在綫精品| 成人精品在线| 日韩一级成人毛片免费观看| 欧美日韩黄片精品在线| 97免费在线观看视频| 久久精品28| 久久精品无码不卡| 97视频在线观看网站| 97久久免费| 天堂av2019| 国产91美女高潮| 超碰av人人人| 二男一女成人A片| 超碰国产精品无码| 日本成a人v网站在线观看| 91亚洲电影| 欧美草草高清日韩视频| 欧美线天码中字| 深夜激情| 国产农村妇女毛片精品久久| 欧美熟妇亚洲版| 日韩一级二级三级免费看完整版国语版| 偷拍网站久久男女男| 男人的天堂成人的社区| 丰满人妻一区二区三区免费,| 四虎影院成年人片| 婷婷五月色| 九九热精品视频在线观看| www.超碰在线| 亚州国产精品乱| 五月丁香综合激情| 日本一区二区电影网站| 啊啊啊啊啊啊好湿好爽视频| 91性高| 夫妻AV网站| 久操免费观看| 亚洲欧美日韩制服另类| 亚洲国产婷婷在线播放| 睡产熟女乱伦| 精品久久一区二区三区四区五区| 禁止观看美女黄| 2011国产精品| 麻豆久久久久久久久丝袜| 色狠狠综合噜一二三区| 亚洲精品1区| 欧美日韩中国x| 国产精品剧情| AV麻豆免费一区| 性爱视频啪啪啪啪| 国产一区二区三区影片| www色色com| 亚洲图片欧美制度| 亚州中文字幕超碰97| 黄色一区三区| 性色A∨91| 亚洲成人在线高清| 国产亚洲国产超碰| 插入综合网| 天天爽夜夜欢视| 女人高潮大叫一级毛片| 亚洲夜夜欢无码一区二区 | 夜夜福利| 欧美午夜熟妇黑人精品91| 欧美高清色| 亚洲AV操| 黑操B| 日欧毛片久久| 天天看片青娱乐| 人人操我人人干| 伊人网av| 中文字幕人妻色偷偷久久皮| 天天欧美97| 超清福利精品视频在线| 26uuu国产免费观看| 黑丝少妇麻豆| 精品无码产区一区二| 久久久久久亚洲Av无码精| 婷婷丁香五月天综合东京热| 国产免费一区二区在线A片视频| 97干天天| 欧洲精品二区| 成人三级片无码| 国产视频三区四区| 高清不卡视频| 狠狠爱夜夜| 丰满岳乱妇一区二区三区| 2001天天操| 91AV国产精品| 欧美亚洲色图另类国产| 久久人妻丝袜一区二区三| 天天综合网~91综合网| 成人精品久久久午夜福利| 伊人婷婷五月天| 99爱爱| www.色吧5.com| 思思热在线观看| 新精精品久久精品| 操逼操2| 国产一区二区三区中文字幕| 国模久久在线| 强奸乱伦日韩AV| 神马久久久久久久久久久久| 密臀在线视频| 亚洲无吗在线视频| 免费看污网站| 91久久| 日日狠狠久久偷偷色综合免费| 日本97久久| 亚洲第一精品在线视频| 亚洲男人的天堂在线看| 中英熟女操女| 精品精品精品| 欧美人妻少妇| 99热精品在线观看| 亚洲中文字幕熟女少妇一区二区| 熟女精品va中文字幕| 精品一二三区四视频| 欧美日韩国产一区二区小黄片大全| 欧美黑人精品一区二区| 蜜桃臀AV在线| 日韩欧美tv一区二区在线观看| 美女毛片999| 日本十八禁免费看污网站| 久久精9| 中文字幕精品免费一区二区| 人妻久久久| 亚洲天堂2020| 日韩精品99999| 国产又黄又爽| 欧美亚洲激情小说| 狠狠操,使劲操| 日本三级人妻a人妻一在线| 秋霞操逼片| 欧美色图天堂网m| 国产精品操| 91日日| 另类TS人妖一区二区三区| 久久夜精品一区二区三区| 北约熟女超碰| 综合色久欲| 五月色网| 国产偷人伦激情在线观看| 日本美女性生活久久久久久久| 91人精品妻入口| 91成人社区| 九九干| 少妇精品久久久八区九区| 久久久久免费看少妇A片特黄| 91n免费处女| 婷婷五月天久久久| 日韩欧无码一区二区三区免费不卡 | 蜜臀久久在线视频| 欧美视频一区二区在线| 91欧洲入口| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 人妻少妇视频在线播放| 国产性爱强奸乱伦大全| 91中文精品日韩欧美在线| 日韩激情毛片一级久久久| 亚洲涩图欧美| 爆乳免费黄网站| 麻花豆传媒剧国产MV出差| 亚洲中文字幕av | 四虎国产精品永久在线囯在线| 五月天色电影| 国产精品青草综合久久| 2019天天干| 国产不卡的视频| 天天摸,夜夜摸| 国产久久av| 大奶的诱惑| 啊啊啊啊啊啊啊啊要喷了| 凹凸视频特色日本特黄| 天天干人人乐| 好屌色综合| 在线只有精品| 精品亚洲黄色片 国产精品导航一区二区| 亚洲骚男同com| 国产盗摄美女如厕大神作品在线观看 | 亚洲色五月| 神马久久久久久伦理片| 97久久超碰日韩精品| 成人精品一区二区三区| 91久操| 亚洲少妇综合在线播放| 99热这里只有精品18| www.acm成人黄色毛片| 热久久精品| 美女一区二区国产精品| 91内射| 美女十八禁| 60秒免费小视频| 婷婷尹人大香蕉免费| 国产精品无码久久久久2028| 91综合无码| 天美传媒AV国产在线| 日韩精品.久久精品.AV女优.天美传媒| 久久精品国产亚洲AV嘿嘿| 色婷婷日韩精品一区二区三区 | 久久久精品中文字幕爱豆| 人人妻人人澡人人爽久久av| 少妇内射www在线观看视频| 久操| 亚洲熟女综合| 婷婷国产精品九区| 日本久久天堂| 抽插无码高清一区| 无码 黑人一区二区三区| 26uuu最新| 亚洲色电影在线| 欧洲视频在线| 乱色老一区二区三区的观看方式| 欧美人妻色| 夜夜高潮夜夜爽高清视频一| 超91综合网| 在线播放成人网站| 大香蕉丝袜一级片| 秋霞蝌科网日本一区| 91三级理论片播放器| 国产大陆天天艹| 久久riav中文精品| 亚洲国产成人7777| 91视频伊人| 日本成人在线不卡一区二区三区| 精品午夜福利| 97这里有精品| 亚洲欧美另类小说| 97超碰超| 五月婷亚洲精品天堂| 五月天亚洲网| 日韩日韩日韩-国产乱码精品一区二区| 国产成人主播| 啊啊啊97视频| 久久一本大香蕉| 蘋果手機免費看成人Av| 亚洲人人夜夜澡人人爽| 九九九精品一区二区无码| 麻豆区久久久久亚| 性感美女啊啊啊在线|