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
返回資訊列表
碰碰人人漕| 日本三级日本黄色| 五月天精品综合| 99日本视频| 五月综合久久| 五月天婷婷在线AN| 婷婷五月丁香综合激情| 丁香五月天啪啪a日本| 精品久热| 色色色99| 久久性爱视频| www.五月婷婷| 天天肏在线观看| 免费无码毛片一区二区A片| 日屌日日操日日色| 色婷婷激情五月天在线观看| 99热这是里只有精品| 久操大屁股女人av| 婷婷激情五月天激情小说| 中文字幕在线免费观看视频| 99综合一区| 99国产精品久久久久久久久久久 | 婷婷色5月激情网| 人人97碰| 在线播放中文字幕| 97人人操人人| 九九黄色网| 激情五月婷黄版| 激情综合网激情五月俺也去| 91人妻九色大屁股| 一区二区你懂的| 国产又黄又爽又色的免费| 日本爆乳片手机在线播放| 99热只有精品在线观看| 综合久久五月| 深夜A片| 天天搽天天射| 九九久久这里只有精品XB| 99热在线观看| 色噜噜狠狠色综合日日免费| 亚洲综合婷婷| 丁香六月久久| 91久久| 九九热免费视频| 夜夜躁爽日| 永久地址 色| 啪啪干伊人婷婷| 色综合久久五月| 久久色情| 婷婷五月丁香伊人网| 亚洲色婷婷99一9|| 操射国产日本| 丁香婷婷色| 欧美色99| 精品欧美性爱超级爽| 五月丁香激情综合| a性生活久久无| 操97在线观看| 91色九| 9l视频自拍9l视频自拍九色学生| 丁香五月婷婷在线| 欧类av怡春院| 五月婷婷综合性爱噜噜| 天天色播| 999热在线视频| 777色色色| 五月丁香亚洲婷婷| 天天干 夜夜爽| 五月丁香六月色| 五月天激情小说网| 亚洲婷婷综合视频| 久婷婷五月激情| 激情婷婷五月天伊人在线观看 | 99在线看片| 丁香涩涩五月天| 色婷婷六月天在线| 开心深爱激情网| 成人精品视频99在线观看免费| 天天射影院| 婷婷五月天综合亚洲| 久久综合9| 五月丁香婷婷综合网色欲| 久草网大香视频| 丁香五月综合激情啪啪| 国产高清精品色| 天天干电影| 4399亚洲视频| 国内9l视频自拍老熟女九色| 91狠狠色丁香婷婷综合久久精品| 伊人超碰在线| 激情丁香久久| 精品在线网站| 思思热99er| 大香蕉伊人99| 激情五月天在线视频| 黄色AV日韩| 极品人妻VIDEOSSS人妻| 激情六月天婷婷| 99久热这里有精品| 97久久久| 欧美图片丁香五月天| 天天爽夜夜爽夜夜爽精品| 丁香六月天之亚州热女| 99国产精品久久久久久久久久久 | 天天日,天天干,天天操| 中文字幕婷婷在线| 色五月五月天| 九九热超碰| 69人人操人人爽| 美女天天久久| 天天操婷婷| 超碰无码老师| 久热a| 久久婷婷网| 婷婷五月丁香青青草在线| 五月丁香啪综合| 操逼五月婷婷| 五月天婷基地| 婷婷综合激情| 日韩黄黄| 亚洲久热| 综合色情网| 五月丁香AV在线| 色色婷婷丁香| 久久老码第一| 国产av天堂| 无码人妻激情| 婷婷天堂综合| 色婷婷综合久久久久| 97色色在线视频| 丁香五月婷婷基地| 六月婷五月丁香| 久久婷婷影院| 天天性视频| 99色在线| 中文字幕,综合,91| 婷婷五月天啪啪| 丰满少妇猛烈A片免费看观看| 久99久在线| 婷婷丁香六月天| 日本玖玖在线| 婷婷综合一二三| 九色视频入口91| 九九热区一区二区三区| 欧美97超碰| 天天综合天天玩夜夜玩天天玩夜夜玩| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 国产美女无遮挡裸体毛片A片| www.五月天色色色| 九九综合伊人| 这里只有精品,日韩视频| WWW久久久| 国产精品操| 无码99| 99九精品| 久久人人妻| 久久久人妻人伦| 91热久久| 婷婷基地五月色| 午夜天天精品视频| 婷婷性福五月天| 丁香色影院| 狠狠色综合网| 97色色色视屏| 五月丁香久久婷| 欧美黄色韩日网| 国产资源在线视频| 69精品人人人人| 开心五月丁香啪| 色色五月婷婷狠狠| 欧美婷婷日本| 丁香六月爱综合| 99爱在线| 99在线观看| 美女va| 中字幕视频在线永久在线观看免费| 天天爽成人综合网站| 99国产精品久久久久久久久久久| 婷婷五月激情视频| 五月激情丁香五月| 99碰在线视频| 少妇2做爰HD韩国电影| 五月激情综合深爱| 五月丁香色色网| 丁香五月大香蕉| 高清无码中文字幕aVDV| 色五月天激情| 亚洲人成播放网站| 激情五月天婷婷五月天| 丁香五月在线观看| 色噜噜,噜噜色| 国产永久一黄| 日韩色色色色| 欧洲色| 狠狠五月天婷婷激情网。| 国产黄色av| 99热这里只有精品4| 婷婷五月天在线观看av| 久久久宗合| 免费无码毛片一区二区A片| 五月丁香淫淫婷婷婷| 色琪琪一综合久久激情五月视频| 久久3级片| 99激情在线| 亚洲99视频| 久久久99免费视频| 久久精品日| 91丨九色丨国产打屁股| 亚洲天堂aaaa| 天天色天天色天天色天天色天天色| 婷婷七月丁香色色| www.久操| 97涩婷婷婷婷基地| 欧美69久成人做爰视频| 伊人综合网站| 色婷婷在线视频| 色婷婷丁香五月| 成人网丁香五月| w婷婷五月婷婷w| 久久您您综合网| 五月丁香黄色视频| 91se在线观看| 久久人妻乱| 色婷婷成人影片| 激情啪啪五月| 五月丁香婷草| 一区二区乱码视频| 狼人婷婷久久| BT综合在线视频观看| 亚州欧美黄色电影| 综合 激情 婷婷| 99色在线| av高清无码| 日本狠狠干| 天堂中文国产| 久久九九爽| 亚洲热热视频| 激情五月天影院| 激情综合色婷婷啪啪六月天| 激情六月一二| 久久五月天婷婷| 这里只有精品在线免费视频| 国产成人+亚洲+欧洲| 五月婷婷六月丁香激情综合网| 婷婷狠狠操| 色色丁香激情五月| 色婷婷丁香五月综合| w婷婷五月婷婷w| 婷婷五月天天天日日夜夜| 99啪| 婷激情五月天视频导航| 色综合xx| 婷婷射婷婷舔| 色欧美影院| 热99免费在线| 亚洲情欲| 丰满少妇乱A片无码| 激情丁香五月天| 天天日,天天插| 啪啪91| 九九99久久| 五月激情婷婷在线| 久操香蕉| 五月婷婷色影院| 另类激情五月| 情婷婷五月天在线| 婷婷丁香五月综合网上 | 五月激情久久| 六月激情婷婷| 亚洲十月婷婷综合| 婷婷久久精品| 国产欧美日韩综合精品一区二区| 色激情网| 丁香五月香蕉在线| 丁香色综合| 免费观看大片视频 丁香婷婷 六月欧美| 九九视频在线| 少妇人妻偷人精品无码视频新浪| 色欲久久久久| 久久婷婷久久| 久久久天堂国产精品女人| 九九九九操逼| AV色婷婷| 亚洲精品五月| AV在线大香蕉| 国产精品成av人在线视午夜片| 色婷婷激情视频| www.五月天婷婷| 九九久久99| 激情伍月 欧美| 色婷婷www| 97干97色| 色综啪啪啪啪啪啪| 日本a片网址| 婷婷五月激情视频| 五月婷婷综合在线| 国产精品色婷婷99久久精品| 深爱开心激情网| 久久这里只精品| 这里只有精品视频| 91精产一区三区免费观看| 五月丁香色色综合| www.五月婷婷久久.com| 婷婷九九色| 六月激情婷婷| 色激情五月天| 久久人人添人人爽添人人片αV | 伊人综合网站| 大香蕉综合| 欧美色小说婷婷| 91人操| www.超碰97| 五月丁香亭亭操逼| 五月天丁香婷| 五月开心深爱激情网| 久久久99久久| 九色地址91视频| 婷婷五月天色综合翘| 婷婷五月天在线观看| 五月天婷婷成人网| 色色操| 成人色五婷婷| 久久久久久9热不雅视频| 天天日日夜夜爽| 丁香六月婷婷综合缴| 色婷婷电影| 日本熟妇精品99| 99色网站| 五月婷婷 激情按摩| 亚洲天堂久久| 97五月婷| 99热这里只有精品33| 九九久久五月天| 99视频日韩| 亚洲婷婷月丁香五月| 在线成人网站| 91九色精品熟女内射| 中文av网站| aaa久久久| 人人澡天天色天天做| 激情综合色图| 99re视频在线播放| www.久久99| 久99热在线观看| 深情五月天| 六月婷婷色色网| 日 日干 日日做| 婷婷丁香六月| 激情五月婷婷伊人| JlZZJlZZ8JlZZ亚洲熟女| 情欲综合网| 激情网五月天| 天天艹天天色| 97超碰色| www.五月丁香| 91丨九色丨熟女高潮| 九色七七| 99re热视频这里只有综合亚洲| 色色色婷婷| 五月婷婷九| 九九视频这里只有精品| 91九色在线视频| 色九亚洲| 亚洲人人96@| 9+1视频网址| 久久这里面只有精品视频| 丁香五月五月婷婷| 秋霞电影理论| 激情啪啪五月天| 六月婷婷八月丁香| 婷婷爱在线观看| 激情六月婷婷| 五月激情综合深爱| 久久久五月婷婷| 日本色久| 伦乱美欧| 97人妻碰碰碰碰碰久久久久久| 色小说五月天| 99re熱| 亚洲日韩一页精品发布| 久久这里只| 亚洲一级AV在线免费播放| 啪色综合| 天天天天天操| 秋霞日本免费毛片A片| 中文资源在线a | 新激情五月天色播| 丁香五月天亚洲综合| 99热网站| 激情综合婷婷五月| 人人草碰| A久久| 老司机伊人| 99精品97| 国产,欧美,学生妹,视频| 五月丁香六月婷婷视频| 久久久久久久丁香五月天婷婷| 国外亚洲成AV人片在线观看| 丁香五月天亚洲视频| 啪啪啪综合网| 久久久九九九 99| 久久性爱视频| 思思re99视频在线观看| 丁香色六月婷婷| 强奸幻女毛片| 日本不卡高字幕在线2019| 色婷婷精品| 99热最新地址在线| 67194中文字幕| 日日干日日| 丁香五月开心亚洲| 日日狠狠久久偷偷四色综合免费 | 激情五月天激情综合网| 亚洲一个色| 日韩激情网站| 五月开心播播网| 日韩人妻无码精品| 丁香六月婷婷综合欧美| 视频这里只有精品16| 91丨九色|PRNY熟妇| 99热综合| 激情婷婷六月天| 天天影视天天爽天天草| www.lingjunshare.com| 色婷婷激情小说网| 久久色在线视频| 久久婷婷五月激情综合| 在线可以看的av网址| 丁香五月激情六月欧亚激情综合导航| 97精品综合久久内射| 蜜桃人妻无码AV天堂三区| 激情图片婷婷| 六月婷婷五月丁香| 婷婷丁香五月高清| 国产精品激情五月天色婷婷| 狠狠婷婷爱| 婷婷五月天黄色| 狠狠狠狠青草| 色五月婷婷丁香凹凸| 影音先锋女人AA鲁色资源| 日本超碰在线| 91视频精品99| 殴美激情综合网| 色综合天天综合成人网| 久久爱婷婷| 婷婷激情五月天亚洲综合| 六月丁香婷婷五月天| 丁香五月天.com| 在线成人av播放| 九九综合九色欧美狠狠| 中文超碰视在线| 搡BBBB搡BBB搡18 | 5月丁香综合图区| 国产精产国品一二三在观看| 国产亚洲精品AAAAAAA片| www.色99| 婷婷久久大香蕉| 色综合99| 婷色五月| 97在线观视频免费观看| 九九色网专区| 超碰在线播放免费观看| 婷婷色情五月| 99ri精品在线| www.婷婷五月天,com| 天天爽人人综合免费7799| 婷婷午夜丁香| 激情深爱五月天| 婷婷深爱五月天| 亚洲色婷婷五月天| 国产成人AV不卡| 激情四射亚洲| 99热高清在线| 91婷婷丁香五月天免费视频网站| 天天色天天爱天天舔| 五月婷婷六月激情在线| 欧美综合五月丁香六月婷| 噜噜噜噜在线| 色综合五月| 色久九| 五月丁香婷婷色| 五月天色综合| 爱狠射| 精品久久婷婷| 激情文学天天| 免费观看欧美成人AA片爱我多深| 色综合中文| 婷婷成人五月天成人文学| 婷婷丁香五月综合| 五月丁香狠狠爱婷婷综合| 日本人妻操| 黄色片精品| 美女丁香五月天| 26UUU精品一区二区Com| 2020日日干| 天天干一干| 五月丁香亭亭电影久久| 久久人人超| 丁香五月综合福利视频导航| 色综合九九| 五月丁香亚洲婷婷| 丁香五月婷婷影院| 丁香五月婷婷激情中文| 色婷婷丁香网| 人人草人人爱| 色五月婷婷啪啪五月| 五月丁香777| 婷婷五月无码| 丁香五月天社区婷婷| 超碰在线9| www.狠狠干| 伊人在线视频| 九九九九操逼| 色婷婷小说| 久久久久久丁香五月| 99干日本| 色婷婷五月综合色婷婷| 欧美日韩大黄| WWW,五月| 91色吧网| 美英法精品无码免费视频| 久久久97| 99热精品10| 色婷婷激情视频| 99在线精品观看99| 色婷亚洲| 99国产小视频| 色五月情| 青青操绿aaa一区日v| 99精品视频偷拍| 五月天婷婷网站| 午夜理论片最新午夜理论剧| 色综合色五月| 激情五月色婷婷| 色五狠狠| 欧美色必爱| 婷婷在线五月天观看| 97久久精品| 97超碰在线观看免费| 99爱视频在线免费观看| 操91| 精品五月丁香| 亚洲精品午夜国产va久久成人| 97在线日本| 五月丁香六月婷婷亚洲| 国产乱妇乱子在线播视频播放网站| 91在线日| 色色色999| 色婷婷天堂| 五月丁香中文| 五月天婷婷亚洲| 天天天摸夜夜夜玩| 三日本无码| 69激情小说| 蜜桃人妻无码AV天堂三区| 激情色播| 欧美99| 色情·com| 日韩操人| 色综合播放| 婷婷综合| 天天草天天日| 一区操| 色噜噜狠狠一区二区三区| 真实熟女-91九色| 79色色色色| 九九久久色| 可以免费看AV网站| 免费观看2018www黄色操逼网站| 激情五月天激情综合网| 九九超碰人人| 狠狠狠狠狠狠色| 日韩人妻在线观看| 久久婷婷五月综合| 激情五月丁香色婷婷| 成人综合网站| 夜夜做夜夜愛| 国内久久久精品99| 久久亚洲婷婷| 婷婷五月天亚洲天堂| 草草女人亚洲| 五月天婷婷久久视频| 久久一品区| 色综合色五月| 五月丁香六月婷婷综合免| av在线播放网站| 色婷五月天激情| 玖玖婷婷视频| 狠狠穞A片一區二區三區| 激情五月天激情网| 五月九九综合| 天天操B| 五月天激日本色情在线| 婷婷综合在线网| 久久综合首页| 2020久久婷婷五月| 婷五月天丁香婷五月| 婷婷五月电影院| Av性爱网| 国内久久亭亭| 粉嫩AV久久一区二区三区| 婷婷丁香激情五月天色色| 六月丁香成人| 大地9中文在线观看免费高清 | 99精品久久| 亚洲久热无码| 久久婷婷五月综合| 大香久久综合网| 成片免费观看视频大全| 婷婷五月色丁香在线看| 五月丁香福利| 神马久久五月天| 婷婷亚洲天堂| 五月婷婷之美女图片| 97碰| 97成人视频| 精品人妻一区| 五月天婷婷丁香基地在线观看| 久久五月天激情美女| 最新国产AV| 五月激情视频| 色婷婷五月在线| 翔田千里aV中文字幕| 亚洲Av成人在线观看| 欧美色五月| 99这里有精品视频| 激情网婷婷婷| 九九99视频精品| 99ri精品在线| 超碰成人在线免费观看| 26uuu国产| 久人操| 婷婷色Av| 免费精品66| 婷婷五月天综合网| 9久久久| 91丁香色| A片试看50分钟做受视频| 久热黄色| 色色热| 五月婷婷之美女图片| 亚洲激情 久久| 九九这里是免费的视频5| 国产九月婷婷| 五月天色小说| 麻豆AV一区二区三区| www.zbzhongsen.com| 婷五月天| 五月在线| 五月丁香六月情| 激情综合网 激情五月天| 人妻性爱| 久久亚洲色导航| 玖玖视频福利| 狠狠操狠狠爱| 婷婷五月色播网| 亚洲成人AV在线播放| 婷婷刺激综合| 五月婷久久草| 久久精品婷婷五月丁香| 久久婷婷人人| 精品牛仔裤超碰| 色在线99| 伊人婷婷综合| 欧美色婷婷| 婷婷在线播放av| 成人午夜无码视频| 五月丁香六月色婷| 丁香婷婷五月天校园春色| 亚洲思思热久| 色五月xxx| 五月丁香色婷婷伊人| 五月丁香日本片| Av性爱网站| 丁香 婷婷五月| 久久狠狠色| 欧美综合婷婷网| 手机激情网| 婷婷香五月综合激情| 久久这里只有欧美| 色五月激情五月| 91婷婷色 | 丁香五月欧美| 五月婷婷av| 大香蕉综合在线| 被强行糟蹋的女人A片| 国产AV熟妇人震精品一品二区| av中文网| 久久亭亭电影| 丁香大香蕉| 梁铮版《蜘蛛女侠》在线| 五月天色五月天| Www.激情| 色玖玖综合网| 免费观看全黄做爰的视频| www.99.色| 71在线精品视频一区| 免费亚洲婷婷中文字幕| 国产欧美日韩一区二区三区| 99久久激情视频| www,色婷婷| 五月婷婷激情综合| 91av色色乱视频| 色狠狠色综合久久久绯色AⅤ影视| 久热婷婷| 欧洲第一久色| 五月天婷婷在线观看| 98国产精品综合一区二区三区 | 久久精品99国产精品日本| 婷婷六久久| 五月婷婷与六月丁香图片激情| 九月丁香婷婷综合激情| 丁香婷在线| 99热在线观看精品| 男同91| 久久WW| 这里只有国产精品在线| 五月婷婷色播| 激情婷婷狠狠干综合| 狠狠色五月| 无码中文一区二区三区| 99热1| 亚洲日韩操B| 日韩综合网络男女香蕉a片| 五月婷婷伊人久久| 精品五月天| Www.se.久久| 精品婷婷五| 激情开心五月天| 成人做爰黄A片免费看直播室男男| 亚洲综合另类| 国产资源91在线| www.色婷婷.com| 亚洲色综久久五月| 丁香五月冃欧美| 丁香五月性| 五月天丁香成人社| 丁香五月亚综合图片| 九九色影院| 婷婷久久五月天丁香| 大地资源色婷婷视频在线| 很很干天天干| 91成人视频| 噜噜色婷婷| 色情终和网| 色婷婷婷av| 成人 在线 日韩| 久久国产高清| 丁香激情五月少妇| 五月婷婷六月激情| 开心五月激情站| 开心激情五月天网| 色色免费网站| 日本久久性| aaa9区免费在线观看| 久久激情五月网| 4399无码视频| 涩涩五| 国产精产国品一二三在观看| 五月六月丁香激情视频| 日韩AV大全| 99re免费精品视频| 人人妻人人澡| 婷婷午夜丁香| 久久五月丁香婷婷| 色综合九九色综合88| 五月婷婷视频| 99精品超在线播放| 色五月婷婷基地| 久久九九re热| 婷婷色五月婷| 婷婷丁香五月91| 日本狠狠干| 日韩99视频| 黄色成人网站在线播放| 99色网站| 日本色婷婷| 淫视馆aV二区一区| 天天日天天插| 天天综合天天做天天综合| 婷婷在线播放| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 月丁香久久久| 伊人色综合网| 九月丁香亭亭| 91久久久久久| 欧美97p| 亚洲综合碰| 五月婷婷色播| 色99视频| 农村熟妇高潮精品A片| 99在线看片| 亚洲最大视频网站| 伊人色综合久久久| 噜噜噜噜噜在线| 精品无码久久久久久久久| 第四色婷婷五月| 成人精品网站在线观看| 天天搞天天色综合| 色婷婷五月影视| 日比网免费国产| 天天插天天插天天插天天插| 一区视频网站| 中文字幕无码人妻少妇免费视频 | 大香蕉婷婷五月| 免费AAAAA网| 乱乱av| 欧美色五月| 欧美日韩91| 99热国品| 五月天久久网站| 激情五月天激情网| 五月婷婷激情在线| 日本久久天堂| 丁香五月天激情小说| 97伊人综合婷婷| 玖玖热视频| 欧美日本一区二区三区| 欧美性猛交99久久久99| 婷婷成人五月天| 五月丁香777| 人人玩人人橾| 色综合久久88色综合天天| 久久婷婷色| 99精品久久久久久久婷婷久久| 婷婷99狠狠躁天天躁中文| 五月天婷婷小说| 五月婷婷丁香瑟瑟视频| 熟女色专区| 97干在线| 久久久99久久| 日韩成人电影在线播放| 综合五月天| 丁香六月激情| 五月天自拍视频| 亚州操操| 99久热视频在线| 久/久精品99看9| 五月天色婷婷伊人网| 玖玖国产视频一区| 天天肏天天肏| 国产亚洲精品久久久久久久久动漫| 天天综合精品| 五月婷婷丁香色吧网| www.zbzhongsen.com| 新男人天堂人妻| 免费看欧美成人A片无码| h亚洲| 婷婷中文字暮| 天天噜天天爱| 另类视频综合| 色色婷婷丁香五月天| http://www.com久久久精品一区| 99在线观看| 国产这里只有精品| 久久这里只有精品视频1| 天天搽天天射| 婷婷天堂综合| 五月婷婷婷综合网| 超碰人人操人人9| 九九操屄| 一本道在线电影| www.五月.com| 亚洲AV综合在线观看| 婷婷va| 九九热视频免费| 综合逼五月激情婷婷| 久99视频| 欧洲亚洲免费视频9| 亚洲午夜Av| 91精品国产色猫| 岛囯综合激情网| 91 九色大美女| 丁香九月婷婷| 超碰成人免费| 99ri在线视频| 激情影院丁香五月| 久久伊人大香蕉| 9999三级片| 五月婷婷狠狠干| XX久久| 丁香六月狠狠干| 久婷久婷| www,久久久| 色五月色五天色情网| 丁香五月首页| 狠狠操综合| 婷婷午夜| 色色色网站| 91超级碰碰碰| 92久久精品一区二区| 99re6在线视频精品免费| www99热| 免费视频WWW在线观看网站| 免费看欧美成人A片无码| 五月天激情婷婷| 超碰v| 伊人五月婷| 超级碰碰碰久久网站视频| 综合久久综合五月天婷婷| 午夜福利8055| 超碰人人操| 国产ava| 久久97| 婷婷五月天va| 无码人妻一区二区三区免费九色| 激情五月丁香六月婷婷| 人人爱国产| 九九 激情 网| AV操操操| 第四色在线观看| 曰韩五月丁香色婷婷无码| 99久久国产综合精品五月天喷水\| 拍色综合| WWW色色色COm| 丁香五月图片| 日韩精品无码99| 日本在线va| 五月天婷婷色色| 国产成人精品一区二三区熟女在线| 91性交在线播放| 色涩影院六月丁香| 国产一级片| 99aese| 天天干一干| 天天操综合网| 超极99精品| 久久总和99| 男人天堂亚洲综合| 噜噜色噜噜网| 99视频内射三四| 欧美性色A片免费免费观看的| 97在线天堂| 色婷婷欧美| 1995年关宝慧版蜘蛛女| 亚洲欧美婷婷五月色综合| 人妻久久久久久久| www.99操| 婷婷五月丁香基地在线视频官网| 人人干AV| 97综合在线| 色和综合网| 丁香五月影视| 色婷婷五月天堂资源| 玖玖婷婷综合| 天天狠狠综合精区| 日本久热| 丁香 婷婷 亚洲 熟女| 97干97色| www.cao.com久久| 丁香六月婷婷综情欧美| 思思re99视频在线观看| 大香蕉九九| 婷婷五月无码| 狠狠操天天日| 亚洲操b| 欧美激情久| 五月开心六月婷婷在线播放网站| 天天日日夜夜| 五月丁小婷婷激情四射| caop在线视频| 这里精品| 99色爱| 91久久久久久| 丁香五月中文字幕色播| 亚洲日韩久久婷婷伊人| 入口五月婷婷六月香| 99re8在这里只有精品| 99热久久这里只有精品| 99超级碰免费视频| 婷婷五月天社区| 99热国品| 亚洲夜五月| 激情五月丁香社区| 极品少妇婷婷五月| 色婷婷香蕉丁丁网| 99无码视频| 久99热| 婷婷99视频精品| 日韩无码91| 日韩精品无码99| 精品国产乱码久久久久夜深人妻| 99久久99九九九99九他书对| 日日噜噜夜夜狠狠久久丁香五月| 九九无码AV| 六月婷婷狠狠色在线观看| 久久久com| 久99久视频免费观看| 女高怪谈在线观看| 99色在线观看视频者| 97激情五月天| 激情小说五月天| 99这里是99在线视频| 五月婷婷性爱| 91九色|疯狂|高潮|对白|| 天天爱天天秀天天做| 激情五月天第四色| 99热这里只要精品免费| 亚洲久久天堂| 色爱终和网| 激情98色婷婷五| www,五月丁,com| 99免费超碰在线| 婷婷丁香五月天色区| 粉嫩AV久久一区二区三区| 丁香五月综合色婷婷| 日本人妻A片成人免费看片| 久久机热这里只有精品免费视频 | 天天色天天射天天日| 91久久九久久九久久九久久九久久| 美国天天操无码| 99热在线观看免费精品| 超碰国产在线观看| 色婷婷a v| 久久色婷婷| 九九热这里只有精品6| 99热这里只有精品26| 大香网伊人久久综合| 狠狠色丁婷婷日日,伊人激情综合网 | 色五月婷婷777| 伊人五月天婷婷| 狠狠色噜噜狠狠亚洲A∨| 九九無妻| 欧美久久网| 色色五月天激情| 女性自慰系列第五页| 超碰人人在线| 只有久久精品免费| 一区二区aV电影免费看| 日日干日日| 六月丁香久久| 成人国产欧美大片一区| 国产精品久久久丁香五月八戒视频| 欧美三级视频| 婷婷婷久久久| 激情深爱五月婷婷| 五月日韩中文字幕| 久久婷婷五月天蜜桃| 色在线99| 伊人91| 色久五月天| 五月丁香无码| 99视频内射三四| 婷婷五月六月丁香综合| 色婷婷狠狠久久YY| 五月激情小说| 五月花丁香婷婷| 中文字幕日韩成人| 五月婷丁香| 日日爽日日| 久久久五月天| 久久精彩视频18| 96精品久久久久久久久| 99re这里只有精品免费| 亚洲殴洲精品Av在线| 91干| 婷婷香五月| www.91操| 日韩AC在线免费观看| 激情综合网五月丁香| 色丁香在线视频| 五月天另类图片区99| 婷婷97| 天天干,天天日| 婷婷丁香五月天欧美| 亚洲AV无码一区二| 被强行糟蹋的女人A片| 婷婷五月综合体验看| 人妻性爱| 色色色97| 色色色色丁香| 九九综合色| 亚洲六月色| 思思99热在线| 97资源碰碰在线| 精品一二三区久久AAA片| 久碰婷婷视频| 青青草原99热| 一起草无码视频| 99热九九在线| 五月天色小说| 五月花免费视频| 深爱激情五月网| 91婷婷五月天综合视频| 自拍偷窥99热| 五月天大香蕉AV| 日韩黄在免| 日狠狠| 婷婷丁香九月| 五月天婷婷爱| 久久婷婷欧美| 婷婷欧美色| 日本系列_4页_777FP| 991自拍视频| 久久精品一区二区三区四区| 99ri视频| 欧美啪啪9| 五月天婷婷激情综合| 丁香五月在线视频黑人| 日日夜夜狠狠婷婷色| 99在线视频播放| 9 1在线视频| 婷婷色综合网日韩国产| 日韩丰满少妇无码内射| 色播五月天激情| 大香蕉五月天婷婷| 丁香激情五月天| 午夜激情五月天| 就爱射中文字幕资源网| www.狠狠色.com| 五月天婷亚洲综合在线嫩草网| 六月婷婷av| 色欲影香| 激情综合色婷婷啪啪六月天| 大香伊人婷婷影院| 啪啪啪丁香五月| 五月Huangsewang| 无码激情AAAAA片-区区| 日日干日日| 色综合色色| 丁香五月天堂网| 91精品丝袜久久久久久| 伊人五月天在线| 亚洲成人综合在线| 玖玖资源在线视频| 丁香五月天之婷婷影院| 丁香五月偷拍| 亚洲操逼网| 91欧美| 成 人片 黄 色 大 片| 精品一二三区久久AAA片| 五月天丁香| 欧洲MV日韩MV国产| 激情综合色五月丁香| 婷婷五月天桃花网| 操97在线观看| 丁香97综合| 香蕉97碰碰碰超视精品| 日韩精品成人在线| 91大神操美女| 丁香六月开心| 综合激情五月综合激情五月激情1 天天爱天天做天天舔 | 先锋av性爱成人电影| 思思热久久爱| 婷婷六月丁| 久艹大香蕉| 亚洲激情av| 五月天激情四射| 日韩一本操| 久久99免费视屏| 91精品91久久久中77777久久玖玖九九| 亚洲一级色电影| 丁香婷婷精品视频| 激情婷婷五月色| 五月婷婷六月丁香色| 99玖玖在线视频| 婷婷五月天成人| 激情5月婷婷| 91操屁股| 久久久久婷婷| 夜夜天天久久婷婷| 夜夜综合色| 九色婷婷| 538在线精品| 中文字幕性爱视频| 丁香六月啪啪| 99色看| 色玖玖综合| www.久久| 亚洲乱啪| 色狠狠五月天| 5月丁香六月婷婷| 99a级片| 国自产拍偷拍精品啪啪一区二区| 黄色片avv| 99久在线精品| 亚州视频九九99| 五月天天综合| 无码激情AAAAA片-区区| 五月亭亭色| av在线超清中文| 人妻啪啪啪| 亚洲超碰在线| 五月丁香久久婷| 激情网五夜婷婷| 婷婷开心激情| 开心五月婷婷| 综合久久六月| 综合欧美五月婷婷| 欧美丁香婷婷五月| 婷婷丁香六月| 婷婷玖玖丁香| 精品婷婷五月天| 射区导航| 影音先锋 萱萱| 99久久九九| 五月天另类小说| 亚洲天堂久久| 日本97在线| 色 五月婷婷基地| 三级三久久线久久99久目本WW| 日韩综合久久| 日韩成人电影AV| 亚洲电影中文字幕| Av性爱网站| 婷婷激情人妻| 六月婷综合| site:901-07.com| 亚洲va综合va国产va中文| 嫩草AV久久伊人妇女超级A| 国产av影片| 婷婷成人五月天成人文学小说| 亚洲综合激情五月久久| 百度4399有码精品V在线观看 | 天天综合五月| 日日夜夜爽| 成人国产欧美大片一区| 九九综合精品| 久色激情| 亚州欧美黄色电影| 色婷婷五月天激情久久| 亚洲天堂热| 啪啪色区| 99热这里只有精品18| 免费观看全黄做爰的视频| 色五月丁香五月| 婷婷九月在线| 超碰A V在线| 爱婷婷久久视频| 激情婷婷五月天| 色婷婷五月天av在线| 激情99热| www.综合久久.com| 五月丁香六月欧美综合网站| 亚洲99精品九九在线| 亚洲婷婷丁香五月亚洲| 三级三久久线久久99久目本WW| 狠狠久久婷五月| 久久久天天啊| 影音先锋91视频| 久久综合激情婷婷激情| 国产精品美女久久久久AV超清| 六月婷婷深深爱| 99热免| 丁香六月婷婷综合激情欧美| 久久久婷婷五月亚洲97号色| 婷婷激情四射五月天| 六月婷婷久久| 97sese婷婷| 激情伊人五月天| 一级性感毛片| 成人色五婷婷| 久久精品女人天堂AAA| 5月丁香啪啪啪| 色婷婷影音| www.婷婷五月天| ′久久99一| 久热 91| 99re热在线视频| 婷婷色播婷婷| WWW.天天日| 九色PORNY9l原创自拍| 久久er+| 综合久久五| 久久九九免费视频| www.射伊蕉婷婷|