久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

TVM源碼安裝完全指南:從環(huán)境配置到踩坑排錯(cuò)的實(shí)戰(zhàn)經(jīng)驗(yàn)

TVM源碼安裝完全指南:從環(huán)境配置到踩坑排錯(cuò)的實(shí)戰(zhàn)經(jīng)驗(yàn) 大概兩年前我第一次接觸TVM的時(shí)候光是環(huán)境搭建就折騰了整整一個(gè)周末當(dāng)時(shí)差點(diǎn)勸退。后來陸續(xù)給同事、學(xué)生在不同機(jī)器上裝了十幾次把踩過的坑一條條記錄下來才慢慢摸清楚這個(gè)框架的脾氣。這篇博客就是我這些次安裝經(jīng)驗(yàn)的完整匯總涵蓋了從代碼拉取、編譯配置到Python環(huán)境調(diào)試的全部過程按順序操作基本能一次過希望對(duì)第一次接觸TVM的讀者有實(shí)際幫助。1. 寫在前面TVM到底是個(gè)什么東西為什么安裝這么講究先說清楚TVM是干嘛的。它全稱是Apache TVM本質(zhì)上是一個(gè)深度學(xué)習(xí)編譯器棧解決的問題是“模型寫好了但跑不快”。它接收PyTorch、TensorFlow、ONNX等格式的訓(xùn)練模型經(jīng)過計(jì)算圖優(yōu)化、算子調(diào)度和代碼生成之后輸出能在CPU、GPU、FPGA甚至專用加速器上高效運(yùn)行的機(jī)器碼。簡(jiǎn)單說你把一個(gè)訓(xùn)練好的模型交給TVM它幫你針對(duì)具體硬件狠狠優(yōu)化一把推理速度往往比原框架直接跑要快不少。那為什么安裝環(huán)節(jié)這么容易翻車原因在于TVM的項(xiàng)目結(jié)構(gòu)比較特別它既有C寫的核心編譯引擎又要通過Python前端來調(diào)用安裝過程至少涉及編譯工具鏈、LLVM依賴、GPU驅(qū)動(dòng)和Python包管理這四套體系。任何一環(huán)版本不匹配后面跑起來就是一堆莫名其妙的問題。而且TVM本身更新節(jié)奏很快幾乎每個(gè)月都有新改動(dòng)老版本經(jīng)常遇到“某個(gè)依賴庫(kù)升了級(jí)舊版TVM就不兼容了”的情況。所以你會(huì)看到我在標(biāo)題里反復(fù)強(qiáng)調(diào)一個(gè)建議軟件版本盡量用最高的、最新的。這不只是懶人思路而是TVM這個(gè)項(xiàng)目確實(shí)對(duì)“落后版本”很不友好。舊版本不僅API和最新的Python、LLVM、CUDA對(duì)不上連官方文檔里的示例代碼都可能跑不通。用最新版本社區(qū)踩過的坑相對(duì)少搜問題也能搜到更多近期有效的答案。這篇文章適合誰來參考主要是兩類人一是科研和工程場(chǎng)景中需要部署模型、做推理加速的開發(fā)者二是想搞懂TVM編譯流程的學(xué)生。文章會(huì)從一個(gè)干凈的Linux環(huán)境開始講到如何完整地把TVM源碼版裝好并給出我在實(shí)操中遇到過的經(jīng)典報(bào)錯(cuò)和排查方法。2. 安裝前的環(huán)境評(píng)估與版本選型思路2.1 先摸清自己的硬件和系統(tǒng)底細(xì)有一句老話叫做“TVM本身不挑機(jī)器但你機(jī)器上已有的環(huán)境一定挑TVM的版本”。動(dòng)手之前先把下面幾項(xiàng)信息查清楚記錄下來。這幾條命令在Ubuntu/Debian系的系統(tǒng)上直接執(zhí)行即可。# 查看操作系統(tǒng)版本 cat /etc/os-release # 查看CPU信息 lscpu | grep Model name # 查看GPU型號(hào)與驅(qū)動(dòng)版本 nvidia-smi # 查看顯卡驅(qū)動(dòng)支持的CUDA版本 nvidia-smi | head -20 # 查看當(dāng)前gcc、g版本 gcc --version g --version # 查看cmake版本 cmake --version # 查看python版本 python3 --version以我實(shí)機(jī)為例常用的一套環(huán)境是Ubuntu 22.04 GCC 11.4 CMake 3.22 Python 3.10 CUDA 12.2最后TVM在0.16及以上版本跑得都很順。如果你用的是Ubuntu 20.04 Python 3.8 GCC 9也完全能裝但建議把CMake至少升到3.16以上太老的CMake不支持TVM構(gòu)建腳本里一些新語法。這里想強(qiáng)調(diào)一個(gè)點(diǎn)不要為了“穩(wěn)定”故意用舊版本編譯器。TVM的大量代碼依賴較新的C17標(biāo)準(zhǔn)GCC版本低于7基本沒戲GCC 8、9能編但有機(jī)會(huì)報(bào)奇怪的模板錯(cuò)誤。我在Ubuntu 18.04的機(jī)器上踩過GCC 7.5編譯TVM 0.14時(shí)模板實(shí)例化失敗的坑后來升級(jí)到GCC 9才解決。所以標(biāo)題里“版本盡量新”這一條第一步就體現(xiàn)在系統(tǒng)編譯器上。2.2 依賴組件哪些是必裝、哪些是可以先跳過的TVM的完整依賴列表很長(zhǎng)但對(duì)我們大多數(shù)用途來說真正必須的沒有想象中那么多。我按“不裝一定跑不了”“不裝也能跑但性能受限”“完全可選”三檔列一下依賴項(xiàng)必裝程度說明CMake必要構(gòu)建系統(tǒng)的核心版本建議3.16以上GCC/G必要C編譯器用于編譯TVM的C核心Python 3必要TVM的Python前端依賴3.7以上均可LLVM強(qiáng)烈推薦用于CPU代碼生成優(yōu)化有它性能好非常多CUDA Toolkit可選但推薦如果你要用NVIDIA GPU加速則必裝cuDNN可選某些GPU算子的加速庫(kù)非必須Vulkan/OpenCL可選特定硬件后端需要日常可以先不裝Node.js不需要那是TVM前端網(wǎng)頁版才用的東西這里重點(diǎn)說LLVM。很多教程會(huì)告訴你“USE_LLVM那里的路徑可以留空”意思是TVM能在沒有LLVM的情況下照常編譯。這話沒錯(cuò)但代價(jià)很大——沒有LLVM后端TVM在CPU上的代碼生成能力會(huì)被砍掉一大截很多優(yōu)化沒法做甚至部分模型直接編譯失敗。所以我的建議是LLVM必須裝而且盡量新版。安裝LLVM最簡(jiǎn)單的方式是用apt直接裝sudo apt update sudo apt install llvm-18 llvm-18-dev clang-18如果系統(tǒng)源里沒有LLVM 18可以先去apt源看有哪些版本apt-cache search llvm再選擇。理論上LLVM 10以上都能配TVM但LLVM 15以下可能會(huì)遇到底層API變化導(dǎo)致的告警甚至編譯錯(cuò)誤。實(shí)測(cè)LLVM 17、18都很穩(wěn)。2.3 為什么我堅(jiān)持建議“版本盡量新”——一條血的教訓(xùn)可能有人覺得我在偷懶遇事不決就讓人升級(jí)。這里分享一個(gè)親身經(jīng)歷有一次我在一臺(tái)服務(wù)器上裝TVM 0.12當(dāng)時(shí)的最新版配的是LLVM 10和GCC 9編一次花了快40分鐘最后跑模型的時(shí)候報(bào)了一個(gè)LLVM代碼生成器的內(nèi)部錯(cuò)誤隨機(jī)出現(xiàn)在某些算子上。找遍GitHub issues也沒看到完全一致的報(bào)錯(cuò)后來我干了一件笨事把TVM升到0.14同樣的模型同樣的硬件同樣的配置一次通過。事后分析原因是TVM低版本某個(gè)C代碼里用到了LLVM的某個(gè)接口那個(gè)接口在LLVM 10上有邊界情況沒有處理干凈高版本修復(fù)了編譯器端的問題TVM新版本又適配了新LLVM的接口兩層疊加就順理成章了。從那以后我養(yǎng)成了一個(gè)習(xí)慣裝TVM之前先檢查一遍所有依賴組件有沒有自己能升到的最新穩(wěn)定版能升就升升完再編譯TVM。這其實(shí)幫我在后續(xù)的部署里省下了大量排查時(shí)間。3. 從源碼編譯TVM的完整實(shí)操流程3.1 拉取代碼別漏了子模塊這是第一道坑TVM的代碼托管在GitHub上官方源碼倉(cāng)庫(kù)是apache/tvm。編譯源碼版的第一步當(dāng)然是clone倉(cāng)庫(kù)但這里就藏著第一道最常見的坑。直接用下面這行命令是不夠的git clone https://github.com/apache/tvm.git為什么不夠因?yàn)門VM依賴幾個(gè)外部子模塊包括dmlc-core核心工具庫(kù)、dlpack張量數(shù)據(jù)交換協(xié)議和rang第三方頭文件庫(kù)等這些不會(huì)跟著主倉(cāng)庫(kù)自動(dòng)下載。如果漏了子模塊編譯的時(shí)候會(huì)報(bào)“找不到dmlc/core/io.h”之類的錯(cuò)誤或者CMake配置階段直接失敗。正確命令是加一個(gè)--recursive參數(shù)git clone --recursive https://github.com/apache/tvm.git如果你已經(jīng)用了不帶參數(shù)的方式clone了也不用重新來一遍在倉(cāng)庫(kù)根目錄執(zhí)行下面的命令即可補(bǔ)救git submodule init git submodule update --recursive需要提醒的是子模塊拉取過程中網(wǎng)絡(luò)不穩(wěn)定很容易失敗失敗后繼續(xù)操作可能導(dǎo)致子模塊目錄為空。建議拉取完成后檢查一下3rdparty/dmlc-core/include/dmlc目錄下是否有io.h文件存在有才說明沒問題。另外我個(gè)人習(xí)慣clone之后切到一個(gè)具體的release tag而不是直接留在master分支上。TVM的master分支是開發(fā)版雖然功能最新但偶爾會(huì)有API調(diào)整帶來的不穩(wěn)定性。我用release分支更穩(wěn)cd tvm git checkout v0.17.0 # 如果提示子模塊版本不匹配再執(zhí)行一次 git submodule update --recursive如果你是在官方發(fā)布某個(gè)版本后才clone的默認(rèn)的master分支就是最新代碼也可以直接用問題不大。3.2 編譯配置config.cmake里最關(guān)鍵的幾個(gè)開關(guān)進(jìn)入TVM倉(cāng)庫(kù)的根目錄創(chuàng)建一個(gè)build目錄存放編譯配置和中間產(chǎn)物。官方的默認(rèn)配置會(huì)從cmake/config.cmake復(fù)制過來但默認(rèn)配置里L(fēng)LVM是關(guān)閉的所以必須手動(dòng)改。cd tvm mkdir -p build cp cmake/config.cmake build/然后用文本編輯器打開build/config.cmake重點(diǎn)檢查并修改下面這幾處# 找到這行將OFF改成ON這樣LLVM后端才會(huì)開啟 set(USE_LLVM OFF) # 改成類似下面這樣具體路徑以你系統(tǒng)里的llvm-config為準(zhǔn) set(USE_LLVM /usr/lib/llvm-18/bin/llvm-config) # 如果要用NVIDIA GPU把下面這行改為ON set(USE_CUDA OFF) # 改成 set(USE_CUDA ON) # 建議把編譯類型設(shè)為Release這會(huì)開啟編譯優(yōu)化TVM自身的運(yùn)行性能顯著提升 set(CMAKE_BUILD_TYPE Release)這里重點(diǎn)聊一下USE_LLVM的設(shè)置方式。很多教程寫的是“l(fā)lvm-config -prefix”之類的自動(dòng)探測(cè)其實(shí)你直接把llvm-config的完整路徑填進(jìn)去就行TVM的CMake腳本會(huì)自動(dòng)調(diào)用它獲取編譯參數(shù)。前提是你要裝了llvm-dev相關(guān)的包否則只有l(wèi)lvm-config沒有開發(fā)頭文件也是白搭。我自己在探究LLVM版本兼容性時(shí)發(fā)現(xiàn)TVM官方對(duì)LLVM版本的支持范圍其實(shí)相當(dāng)寬LLVM 12到18都認(rèn)但舊TVM配新LLVM或者新TVM配舊LLVM都會(huì)有些邊緣問題。所以最省心的組合是新TVM 新LLVM。比如TVM 0.16以上配LLVM 17或18是當(dāng)下最穩(wěn)的組合。CUDA那個(gè)開關(guān)如果開了CMake會(huì)自動(dòng)去找系統(tǒng)中已安裝的CUDA Toolkit如果找到的版本不對(duì)可以在配置里手動(dòng)指定CUDA路徑set(USE_CUDA /usr/local/cuda)如果機(jī)器上沒有NVIDIA顯卡這一項(xiàng)保持OFF即可不用糾結(jié)。開CUDA之后編譯時(shí)間會(huì)變長(zhǎng)這個(gè)要有心理準(zhǔn)備。3.3 編譯與Python包安裝等一條命令跑完配置改好后開始正式的編譯構(gòu)建。在build目錄下執(zhí)行下面的命令cd build cmake .. make -j$(nproc)nproc會(huì)讀取當(dāng)前機(jī)器的CPU核數(shù)-j參數(shù)的作用是并行編譯這樣可以大幅縮短編譯時(shí)間。但也不建議在低配機(jī)器上無腦用所有核內(nèi)存不夠會(huì)導(dǎo)致編譯中途被系統(tǒng)殺掉。我的經(jīng)驗(yàn)是8核16G內(nèi)存的機(jī)器用-j6或-j8都沒問題2核4G的輕量服務(wù)器用-j2就好穩(wěn)妥第一。整個(gè)編譯過程少則十幾分鐘多則四五十分鐘取決于機(jī)器的CPU性能和是否開啟了CUDA、Vulkan等冗余后端。期間屏幕上會(huì)刷大量C編譯輸出看到[100%]或者Built target tvm之類的字樣就說明編譯完成了。編譯完成后TVM的核心C庫(kù)會(huì)在build/目錄生成libtvm.so和libtvm_runtime.so這兩個(gè)文件Python前端需要找到這個(gè)庫(kù)才能工作。接著安裝Python包裝包c(diǎn)d .. pip install python/tvm # 或者如果你想以開發(fā)模式安裝改動(dòng)代碼即時(shí)生效 # pip install -e python/tvm這里有一個(gè)非常常見的坑pip install和pip install -e的區(qū)別。普通安裝是把TVM的Python代碼復(fù)制到site-packages里之后你修改源碼里的Python文件不會(huì)生效開發(fā)模式-e則是建立一個(gè)軟鏈接代碼改動(dòng)立即生效。做深度學(xué)習(xí)模型開發(fā)的人通常用普通安裝就夠了但如果想改TVM源碼做研究就用開發(fā)模式。還有一個(gè)依賴需要注意TVM的Python包運(yùn)行需要numpy、decorator、attrs、typing_extensions、psutil、scipy等庫(kù)。pip install python/tvm的時(shí)候這些依賴一般會(huì)自動(dòng)裝上但如果你用了--no-deps或者系統(tǒng)里存在版本沖突就需要手動(dòng)逐個(gè)補(bǔ)。我最常碰到的是numpy版本問題比如系統(tǒng)里已有一個(gè)numpy 1.xTVM新版本要求numpy 2.x解決方式很簡(jiǎn)單統(tǒng)一升級(jí)到numpy 2.x即可但要注意個(gè)別其他庫(kù)可能還不兼容numpy 2.x這需要權(quán)衡。3.4 快速驗(yàn)證如何判斷TVM真的裝好了裝好以后不要急著跑模型先做一個(gè)最基礎(chǔ)的健康檢查。打開Python終端輸入下面的代碼import tvm print(tvm.__version__) print(tvm.__file__)能打印出版本號(hào)和源碼路徑說明Python包和核心庫(kù)的動(dòng)態(tài)鏈接已經(jīng)通了。這時(shí)候可以再試一次簡(jiǎn)單的張量操作驗(yàn)證編譯鏈路是否正常import tvm from tvm import te n 1024 A te.placeholder((n,), nameA) B te.compute((n,), lambda i: A[i] * 2, nameB) s te.create_schedule(B.op) f tvm.build(s, [A, B], targetllvm) print(build succeeded)如果tvm.build沒有報(bào)錯(cuò)說明LLVM后端已經(jīng)被正確調(diào)用TVM已經(jīng)能夠完成一個(gè)完整的編譯流程這是整個(gè)安裝成功的最有力證據(jù)。4. 安裝Python前端tvmc和上層工具鏈之間的關(guān)系4.1 tvmc是什么要不要單獨(dú)裝在TVM源碼倉(cāng)庫(kù)里python/tvm/driver/目錄下有一個(gè)叫tvmc的命令行工具全稱是TVM Command Line也就是TVM的“命令行用戶界面”。它允許你通過命令行的方式完成模型編譯和調(diào)優(yōu)而不用寫Python代碼。安裝TVM的同時(shí)tvmc就會(huì)一并裝好。驗(yàn)證方式tvmc --help如果能打印出幫助信息說明命令行通道已經(jīng)打通。tvmc支持很多子命令比如tvmc compile編譯模型、tvmc run運(yùn)行模型、tvmc tune自動(dòng)調(diào)優(yōu)等熟練之后能極大提升工作效率不需要每次都進(jìn)入Python交互環(huán)境。不過在日常開發(fā)里我更習(xí)慣直接用Python API。因?yàn)門VM的大部分高級(jí)功能比如Relay IR的操作、AutoTVM的配置調(diào)整還是Python接口寫得比較完整命令行工具適合快速驗(yàn)證但不適合做深度定制。4.2 用TVM加載一個(gè)ONNX模型走一遍完整推理鏈裝完之后最關(guān)心的問題就是“能不能直接用”。這里我分享一個(gè)最簡(jiǎn)單的完整鏈路示例把PyTorch的模型先導(dǎo)出成ONNX再用TVM編譯推理import torch import torchvision.models as models import onnx from tvm import relay # 以ResNet18為例 model models.resnet18(pretrainedFalse) model.eval() # 導(dǎo)出ONNX dummy_input torch.randn(1, 3, 224, 224) torch.onnx.export(model, dummy_input, resnet18.onnx, opset_version11) # 加載ONNX到TVM onnx_model onnx.load(resnet18.onnx) input_name input.1 shape_list [(input_name, (1, 3, 224, 224))] mod, params relay.frontend.from_onnx(onnx_model, shape_list) # 編譯目標(biāo)為L(zhǎng)LVM target llvm with tvm.transform.PassContext(opt_level3): lib relay.build(mod, targettarget, paramsparams) print(compile done)這段代碼把整個(gè)流程串了一遍從ONNX前端解析Relay表達(dá)式到Relay IR優(yōu)化再到后端代碼生成。如果這一步能順利完成說明TVM的編譯管線是完全通的。后面的模型推理只是把編譯后的lib加載到runtime再跑問題不大。有的讀者可能在這一步遇到“ONNX包沒有安裝”的報(bào)錯(cuò)直接用pip install onnx即可不用特意指定版本。需要注意的倒是PyTorch和TVM版本之間的兼容性老版本TVM對(duì)PyTorch新導(dǎo)出的ONNX算子支持可能不完整這又是一個(gè)“用新版TVM更省心”的理由。5. 踩坑實(shí)錄與排查技巧這幾類問題占了我裝機(jī)問題的八成安裝過程中最磨人的往往不是大方向出錯(cuò)而是一些看起來不起眼的小問題。這里我把過去踩過的坑做成一個(gè)表格方便大家快速對(duì)照。表格后面挑三個(gè)最典型的問題單獨(dú)展開講。錯(cuò)誤現(xiàn)象根本原因解法提示找不到dmlc/io.hclone時(shí)漏了子模塊git submodule update --recursiveCMake階段提示找不到llvm-configLLVM開發(fā)包沒裝apt install llvm-18 llvm-18-devimport tvm后提示找不到.so文件Python包和動(dòng)態(tài)庫(kù)不在同一路徑確認(rèn)編譯生成的libtvm.so在build/下且環(huán)境變量PYTHONPATH沒覆蓋tvm.build報(bào)“LLVM version mismatch”LLVM相關(guān)頭文件與庫(kù)文件版本不一致完整升級(jí)LLVM到同一版本清理build目錄重新配置編譯過程中內(nèi)存不足被kill并行編譯任務(wù)太多降低-j參數(shù)比如-j2Python運(yùn)行時(shí)報(bào)numpy版本不滿足TVM新版本與舊numpy不兼容pip install -U numpy啟用CUDA后編譯報(bào)錯(cuò)找不到cuda_runtime.h系統(tǒng)CUDA未安裝或PATH未設(shè)置安裝CUDA Toolkit配置/usr/local/cuda路徑TVM運(yùn)行時(shí)提示“Cannot find libtvm_runtime.so”runtime庫(kù)路徑未加入LD_LIBRARY_PATH在.bashrc中導(dǎo)出LD_LIBRARY_PATH/path/to/tvm/build:$LD_LIBRARY_PATH5.1 找不到LLVM一半以上的安裝失敗都栽在這里我見過太多人在CMake階段卡住報(bào)錯(cuò)類似于Could NOT find LLVM (missing: LLVM_CONFIG_EXECUTABLE)這個(gè)問題的第一反應(yīng)不要是去改配置而是先確認(rèn)系統(tǒng)里到底裝沒裝LLVM開發(fā)版。llvm-config --version如果提示找不到命令說明連基礎(chǔ)LLVM都沒裝。這時(shí)候執(zhí)行sudo apt install llvm-18 llvm-18-dev如果llvm-config存在但版本打印出來是10、11之類的舊版我依然建議升級(jí)到LLVM 17以上的版本。舊版LLVM不僅可能觸發(fā)TVM編譯告警更關(guān)鍵的是代碼生成質(zhì)量不如新版。在CPU推理這種性能敏感的場(chǎng)景下用新版LLVM調(diào)優(yōu)后的代碼可能比舊版快5%到15%。裝好之后在config.cmake里寫set(USE_LLVM /usr/lib/llvm-18/bin/llvm-config)注意路徑要以llvm-config結(jié)尾而不是填一個(gè)目錄。這是CMake的約定很多新手會(huì)在這里填成/usr/lib/llvm-18導(dǎo)致CMake依然找不到LLVM。5.2 編譯成功了但運(yùn)行模型時(shí)各種“內(nèi)部錯(cuò)誤”的排查思路編譯通過不等于萬事大吉運(yùn)行時(shí)錯(cuò)誤同樣讓人頭疼。比如我遇到過這樣的報(bào)錯(cuò)Check failed: ret 0: TVMError: Internal compiler error這種問題有兩種常見來源。第一類是TVM自身的bug尤其是在舊版本上遇到新LLVM的情況第二類是GPU相關(guān)算子在CUDA版本不匹配時(shí)的內(nèi)核編譯失敗。排查思路按順序做先確認(rèn)LLVM版本。在Python里執(zhí)行print(tvm.target.codegen.llvm_version())看看TVM實(shí)際檢測(cè)到的LLVM版本如果和llvm-config --version對(duì)不上就是要重新編譯TVM的信號(hào)。清理build目錄重新編譯。不要在原build目錄上直接覆蓋把build文件夾整個(gè)刪掉重新cp cmake/config.cmake build/再做一遍能排除舊配置緩存干擾。用官方的最小復(fù)現(xiàn)代碼測(cè)試。比如跑到GitHub上找對(duì)應(yīng)版本文檔里的示例排除是自己代碼的問題。如果還不行去GitHub Issues搜原話報(bào)錯(cuò)。TVM社區(qū)很活躍搜到相同問題基本就搜到了答案。我遇到過的最折騰的一次是TVM 0.13配合LLVM 15時(shí)編譯模型老觸發(fā)一個(gè)很小概率的Segment Fault最后解決辦法是升級(jí)TVM到0.16問題徹底消失。所以遇到這種編譯內(nèi)部錯(cuò)誤最快速的解法往往是“升級(jí)到最新TVM版本重新試一把”而不是苦找根源除非你有必須鎖定舊版本的理由。5.3 版本兼容性的體系化檢查一條命令幫你看清全局既然強(qiáng)調(diào)了一路的“新版本原則”最后分享一個(gè)我自用的小腳本可以把TVM及其關(guān)鍵依賴的版本一次性打印出來排查版本沖突時(shí)特別有用import tvm import sys print(Python version:, sys.version) print(TVM version:, tvm.__version__) try: print(LLVM version:, tvm.target.codegen.llvm_version()) except Exception as e: print(LLVM version detection failed:, e) import numpy print(NumPy version:, numpy.__version__) import torch print(PyTorch version:, torch.__version__)如果LLVM version打印出來是空或者報(bào)錯(cuò)那大概率LLVM沒配好。PyTorch版本如果不是2.x建議升級(jí)因?yàn)榕f版PyTorch導(dǎo)出的ONNX模型在TVM的新版前端上偶發(fā)兼容問題。6. 再補(bǔ)充一些個(gè)人建議與經(jīng)驗(yàn)細(xì)節(jié)6.1 要不要用Docker鏡像來省事海外用戶使用官方Docker鏡像很方便但有些地區(qū)網(wǎng)絡(luò)拉取鏡像會(huì)遇到困難加上Docker里掛載GPU還需要額外配置對(duì)新手來說門檻并不低。我的觀點(diǎn)是如果只是學(xué)習(xí)驗(yàn)證直接用源碼編譯一次也好能幫你理解整個(gè)依賴關(guān)系如果是多臺(tái)機(jī)器重復(fù)部署Docker方案效率會(huì)高很多。Docker方案也有一個(gè)坑鏡像里的LLVM、CUDA版本和你宿主機(jī)上的驅(qū)動(dòng)版本可能不匹配跑模型時(shí)依然會(huì)有各種莫名其妙的問題。除非你用了與宿主機(jī)驅(qū)動(dòng)完全匹配的鏡像版本否則真不如老老實(shí)實(shí)在物理機(jī)里編譯一次干凈。6.2 雙環(huán)境隔離多版本Python會(huì)讓排查難度翻倍在裝TVM之前我建議用conda創(chuàng)建一個(gè)全新的虛擬環(huán)境隔離系統(tǒng)自帶的Pythonconda create -n tvm python3.10 conda activate tvm這樣即使系統(tǒng)的Python環(huán)境被其他項(xiàng)目搞得亂七八糟TVM這一套東西也不會(huì)受影響。尤其在服務(wù)器上多環(huán)境共存的場(chǎng)景十分常見虛擬環(huán)境能幫你少掉一半的報(bào)錯(cuò)。6.3 最后一個(gè)建議把常見命令存成一個(gè)變量省點(diǎn)時(shí)間如果你需要經(jīng)常在TVM的build目錄和python目錄之間切換可以像我一樣把下面的變量寫進(jìn)~/.bashrcexport TVM_HOME~/tvm export PYTHONPATH$TVM_HOME/python:$TVM_HOME/build:$PYTHONPATH export LD_LIBRARY_PATH$TVM_HOME/build:$LD_LIBRARY_PATHPYTHONPATH幫Python找到TVM的Python前端LD_LIBRARY_PATH幫動(dòng)態(tài)鏈接器找到libtvm.so。這兩個(gè)如果缺了即使編譯成功后面也會(huì)出現(xiàn)導(dǎo)入或運(yùn)行時(shí)找不到庫(kù)的錯(cuò)誤。我自己實(shí)際操作中發(fā)現(xiàn)很多人在這一步漏了LD_LIBRARY_PATH的配置導(dǎo)致模型編譯明明是好的一運(yùn)行就說找不到libtvm_runtime.so。這個(gè)問題排查起來一點(diǎn)都不難但第一次遇到時(shí)確實(shí)很困惑。7. 個(gè)人踩坑后的一點(diǎn)真心話整個(gè)TVM安裝過程說到底是和環(huán)境打交道的過程。如果以前沒接觸過C編譯鏈、動(dòng)態(tài)庫(kù)、CMake這些底層概念第一次會(huì)被各種報(bào)錯(cuò)整得有些頭大。但這些報(bào)錯(cuò)其實(shí)都在做同一件事告訴你某個(gè)環(huán)節(jié)的版本對(duì)不上。你只要記住一個(gè)核心原則——盡量使用最新的穩(wěn)定版本能省下至少一半的排查時(shí)間。為什么這么說因?yàn)門VM這種快速迭代的項(xiàng)目新版本會(huì)持續(xù)修復(fù)編譯器與外部庫(kù)的兼容問題也會(huì)跟進(jìn)最新的第三方依賴接口。追新版本不等于盲目而是在這個(gè)特定項(xiàng)目上性價(jià)比最高的選擇。按照這篇文章的步驟操作理論上從零到跑通一個(gè)模型半個(gè)工作日應(yīng)該夠用。過程中如果遇到本文沒有覆蓋的報(bào)錯(cuò)先不要慌去GitHub Issues搜索原話大部分情況都能找到解決方案。如果實(shí)在搜不到就把完整報(bào)錯(cuò)貼到社區(qū)問通常很快會(huì)有人回應(yīng)。TVM安裝只是入門的第一道坎裝好之后還有更多有趣的東西等著你去探索。祝順利地跨過這道坎接下來就好好享受編譯優(yōu)化帶來的性能提升吧。這篇文章基于個(gè)人實(shí)際安裝經(jīng)驗(yàn)整理具體版本號(hào)隨時(shí)間推移會(huì)有變化建議以 TVM官方文檔 發(fā)布的最新安裝指南為準(zhǔn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99re6国产精品99re| 中文一区二区| 欧美精品欧美精品系列| 日韩一级二级| 中文字幕AV乱伦| 人妻人久久精品中文字幕| 国产欧美精选激情视频| 中文字幕第95页| 色婷婷导航| 天天干天天舔| 国产91美女视频| AV色天香在线| 色噜噜人妻丝袜a∨先锋影 | 天综合网欧美| 久久极品一区二区| 日韩国语字幕| 性爱精品一区| 岛国毛片在线观看免费| 日夜精品| 亚洲欧美不卡线| 操B久久| 国产视频一区二区免费| 成人AV在线网站| 国产丰满少妇久久久精品影院| 久久久久成人蜜桃精品| 久久美女国产| 日韩亚洲精品一区二区| 搡老女人911熟妇老熟女| 本道在线| 国产青青美女玩逼视频| 亚洲最大无码中文字幕网站| 婷婷色色五月天| 亚洲高清无毛一区二区| 偷拍 亚洲 欧美| 五月天精品| 久久久久亚洲精品| 日本啊啊啊啊啊视频| 色色热| 日韩欧美中文日韩欧美色| 久久久久9999| 国产精品另类一区大香蕉| 亚洲综合小视频小说在线观看 | 男人下部插入女人下部| 无码免费一区二区三区啪啪| 欧美三级中文字幕hd| 亚洲九区| www.色婷婷| 色99在线| 伊人AAA| 7777奇米影视久久| 日韩免费三级黄片电影| 久久久久久人妻一区精品色欧美| 自拍偷拍国产欧美日韩韩| 变态综合色| 97日亚洲欧美| 亚洲色图片区| 伊香蕉综合久久久久久久噜噜噜| 欧美色www亚洲国产阿娇要播| 日韩9区| 亚洲无码一区成人免费午夜| 久久久久久久9999| 欧美91精品国产自产| 亚洲资源一区| 探花精品 一区二区| 91熟女网| 成人午夜高潮av猛片| 欧美色乱| 国产精品熟女九色九色蜜臀| 日韩午夜精品一区二区三区电影| 午夜男人一级A片7777| 激情综合婷婷| 久久久av爱| 很狠操| 亚洲色性| 久久性生大片免费观看性| 操逼日批| 一本大道不卡一二三区| 天堂种子在线www网资源| 久久久久久人妻| 婷婷久草一区二区三区| 超碰97玖玖爱| 性欧美999| 男人天堂电影院| 国产中文字幕在线点播| 国产版a级片直播在线| 人妻av在线| 91蜜臀在线久久久久| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91高跟美女在线播放| 人妻精品4K4K4K4K4| 亚洲中文字幕乱码无码一区二区| 久草精品一区 | 91网站视频在线观看| 快播久久人人aV| 在线看片国产精品每日更新| 久久香蕉国产传媒一区剧情天美| 久久久久久久国产| 诱惑网综合| 天天澡天天狠天天天做| 欧美aa一级片| 综合激情五月丁香| 亚洲国产丝袜在线观看| 女性喷水高潮在线观看| 中文字幕在线日亚洲9| 日本高清电影欧美色图| 亚洲欧美激情小说| 免费福利视频中文字幕| 国产女人高潮视频| 狠狠入| 亚洲无码免费看| AND人妻系列| 欧美日韩人妻精品一区二区三区| 免费操逼视频下载| 色天堂综合| 色约约一区=区三区| 日本五十路熟女一区二区| 不卡人妻少妇精品毛片一区23区视频 | 黄色大香焦1级‘′‘| 亚洲国产综合久久久性感熟妇| 99最新日韩偷拍视频| 老熟女乱伦一区| 亚洲啪啪性视频| 日本久久999| 人妻一区二区三区视频| 蜜色网色哟哟| 色欲天天综合久久久无码网中文| 成人短视频在线观看| 精品国产72| 无码精品久久久久久亚洲| 国产成人精品日本亚洲语言| 春色综合免费| 最新日韩黄片| 97色涩| 国内精品久久人妻性色av| 成 人 影视 一区 二区 三区 四区| 素人伊尹大香蕉免费下载视频| 嫩草美女久久| 欧洲乱码视频| 亚洲欧美一区二区三区一猛片| 91久久堂| 岛国免费视频在线| 国产精品视频播放| 操逼操逼逼操操逼91| 国产肏屁眼视频| 黄片www视频免费| 天天色香欲综合网| 国语少妇精| 五月婷色| 性夜影院爽黄A爽免费动漫| 午夜精品久久久久久久男人的天堂 | 精品丝袜无码一区二区三APP| 国产区性爱在线视频秋霞豆 | 欧美日韩狠狠爱| 任你爽视频| 青草地一本线一区二区三区| 91 国产丝袜在线放观看| 精品无码欧美三级| 亚洲色图8| 国产视频三区四区| 老司机天天操| 亚洲男人天堂手机版| 国产专区路线| 久久久久久久性爱| 少妇色综合| 涩涩这里只有精品视频| 天天干18禁| 大鸡吧尹人在线| 天天色天天干天天爱| 91美女視頻| 国产一级片| 东北女人操逼| AV色五月天| 开心激情站| 影音先锋视频在线| 中文字幕三四区| 青草视频人妻在线观看| 天堂69亚洲精品中文字| 国产精品九九| 亚洲诱惑| 天堂岛av| 久久久久久国产手机AV| 日本性感人妻91| 超碰97首页| 激情五月综合网| 先锋影音av先锋一区| 东北操逼| 91挑色欧美| 久久怡红院| 亚洲国产av中文字幕久久| 热热色色综合| 久久人妇| 桃花色综合影院| 91精品国久久久久久无码| 中日高清无码操逼视频| 久9视频| 日韩图色| 中文字幕aⅴ在线视频| 无码人妻精品酒店| 国产日韩欧美中文在线播放| 色婷婷基地| 精品国产网站| 九九九国产精品| 偷拍片久久| 蜜桃天美传媒AV一区二区三区| 超碰97人人乐| 久久东京伊人一本到鬼色| 免费av大片| 欧美一级三级| 久久99草| 黄页网站成人免费| 久久欧美性爱视频| 很很很很操| 69国产对白刺激| 五月天精品| 欧美乱欲| 老熟女熟妇| 久久人妻一区二区三区高清| 天堂俺去俺来也www久久婷婷| 黄色视频特级毛片| 久久m| 亚洲中文字幕在现观看| 日韩pv中文| 67914在线兔费成人视频| 人妻少妇色综合| 一二三四区电影| 婷婷视频在线免费观看| 亚洲熟女乱综合一区二区三区| 花花AV导航| 亚洲欧美成人在线| 久久婷婷一区| 屌逼麻豆| 天天干天天舔| JULIA人妻风俗店中出电影| 色色色色色色色色综合| 免费在线黄片视频| 午夜噜噜噜| 久久久影院| 思思热在线视频免费| 91伊人大香蕉| 亚洲 日本 国产 综合| 大香蕉宅男伊人| 国产精品久久久久久久久久梁医生| 国产操偷| 探花精品 一区二区| 手机av天堂久久久久| 无码精品久久| 日夜伊人网| 中文字幕久久亚州无码| 五月丁香成人网| 激情熟女12P| 玖玖爱在线视频免费观看| 久久只有精品一区二区三区| 男人亚洲91首页在线| 久久黄黄黄| 97日视频| 99.色网| 秋霞欧美性爰视频| 97最新在线播放视频| 久草色在线观看| 国产九九九九九九| 亚码人妻| 97色妞| 久久97| 人妻啊啊人妻啊啊| 亚洲中文一区二区三区| 人人看人人爰人人操| 日欧操屄| 国内亚洲高清无码| 日本欧美韩国国产在线| 酒色综合网| 久久久月天| 精品999日本| 开心五月婷婷| 男人的天堂色偷偷青青草视频婷婷网| 国产一级高跟丝袜| 人人操人人插人www| 日韩熟女操逼| 欧美东京热精品A∨| 国产亚洲精品A在线观看下载| 日韩欧无码一区二区三区免费不卡| 午夜九九| 亚洲一区二区三区婷婷| 97超碰人人模人人拍人人| 97操b| 日本天天干天天日一区| 国产精品3| 午夜啊啊| 午夜一区二区三区国产| 欧美熟女操屄| 久久人人爽人人爽人人片Ⅴ| 美女露胸露屁股| 国产精品熟女AV中文字幕在线播放| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 亚洲欧洲日韩国产自在线| 99久久精品无码一区二区| 国产成人自拍视频在线| 禁十八久久| 国产青青美女玩逼视频| 99婷婷一区二区| 五月天黄色激情视频| 中文有码第五页| 少好三P| 96精品久久| 亚洲精品97| h无码动漫在线观看| 99re这里只有精品3| 加勒比少妇AV婷婷六月天超碰超碰| 97精品一区| 国内外内射高清视频| 日日操丁香五月天| k频道色撸撸| 亚洲一区中文精品| 欧美专区第一页| 亚洲天堂久| 丰满高潮18xxxx| 精品视频久久区| 中文字幕一区二区日韩网| 久草久热| 网友自拍第1页| 国产成人在线观看综合| 国产精品在线网站| 国产一级作爱毛片| 男女啊啊啊啊啊| 操逼无码一区| 1204人成网站色www| 国产精品欧美日韩久久| 日日嗨AV一区二区夜夜| ,成人免费啪啪视频| 亚洲1区| 俺也射| 午夜黄色免费在线观看| 青青草日本无码| 狠狠久久手机视频精品| 操逼精品视频| 国产日本顶级一区二区三区| 五月天婷婷色色| 91在线视频国产网站| 1024亚洲中文字幕久在线看片你懂的 | 欧美天天射| 少妇 综合| 久久东京伊人一本到鬼色| 学生妹天天看| 炮色五月| 一区二区三区精品黑丝白丝酒店对鸡 | 日夜干射色啊| 成视频在线观看免费看| 国产福利在线视频网站| 女色综合| 色悠久久久av| 久久久久亚洲精品| 一道本久久棕合爱| 男人的天堂啪啪啪啪啪蜜桃不卡| 手机看av网站在线看| 一本精品日本在线视频精品| 美女被啪到深处抽搐视频| 干b在线性社区| 五月天婷精品激情| 首页中文字幕中文字幕免费| 欧美gv在线观看| 96麻豆精品一区二区三区| 97精品网| 久久有码视频| 加勒比东京热五月天天堂网| 岛国小电影| 丝袜大香蕉| 日韩欧美一级特黄大片| 强被迫伦姧在线观看无码网站| www.99热在线只有精品| 伊人网在线观看| 日韩精品99久久久久久中文字幕 | 久久大香蕉| 亚洲国产欧美中文永久| 超碰人妻中文在线| 精品国产久久乱码| 日本蜜桃| 夜夜高潮夜夜爽国产伦精品| 78精品在线| 人人爽夜夜玩视频| 福利天天都操| 啊啊啊啊免费视频| 秋霞怕怕片| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 欧美美女自慰一区二区三区| 欧美图片色综合| 2017大香蕉国产精品久久| yazhououmeizongya| 天美传媒精品一区二区三区| 中文一区二区| 一区麻豆 高清中文字幕| 久久深夜无码| 九九九九精| 亚洲天堂在线怕怕视频| 婷婷色色网| 久久久九九网站| 97综合在线观看| 亚洲第一色页夜| 超碰欧美COM| 强奸乱伦 亚洲一区| 涩五月婷婷| 簧片免费看视频| 淮穴色AV| 妇女视频网站| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 亚洲色丰满少妇高潮| 9精品久久久久| 亚欧毛片基地国产毛片基地| 久久精视频美日韩在线视频| 青青操少妇| 亚欧美综合网。| 超碰97导航| 五月情色天| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 中文乱码字幕观看| 日韩一级片在线看| 加勒比aⅴ| 美女刺激久久国产欧美| 国产福利合集| 久久大香蕉手机高清| 亚洲欧美人妻| 91天天综合网,天天综合网| 久久综合九色综合欧洲98| 超碰亚洲欧美日韩无| 伊人欧美大香蕉视频| 天天插天天插| 欧洲在线性爱视频| 久久99999| 久久精品毛片免费不卡| 四季av一区二区凹凸精品小说| 亚洲性爱无码乱伦av| 可乐操亚洲蜜911| 99精品免费| 很很操在线| 午夜后入| www99热| 中文字幕丰满子伦无码专区在线视频最新 | 91综合在线| 婷婷情色五月天| 天天视频综合在线观看视频| 日韩精品一区二区人人人| 亚洲色人妻综合| 午夜亚洲| AV天天在线观看| 97天天日| 国产后入清纯| 99re这里只有精品中心播放| 久久久久久国产精品免费网站| 超碰天天去日穴| 国产免费大片| 久久超碰、| 亚洲 日韩 丝袜 熟女 变态| 五月天亚洲网| AV中文在线| 国产在线观看91精品一区| 国产日韩中文字幕欧美| 亚洲av总站| 国产精品久久久鸭无码的功能| 免费国产视频| 亚洲AV不卡在线观看| 久久午夜伦| 人妻一区视频| 蜜臀久久99精品久久久电影| 人妻少妇久久中文| 农村妇女一级二级三级视频| 男人天堂2019| 国产人妻一区二区三区欧美毛片| 男人的天堂啪啪| av爱爱爱| 久久人妻| 91成人精品| A一级色女| 强上我不卡卡| 日本三级韩三级99久久| 国产精品一区二区黄片| 在线观看成人性爱免费小视频| 超碰九7免费| 色综合99999| 夜夜爽妓女| 乱精品一区字幕二区| WWW啪啪的com| 9Ⅰ超碰| 日本ZZ高免费A级视频| 91丝袜美女| 女人双腿搬开让男人桶| 国产女乱淫真高清免费视频| 日韩在线欧美精品一区二区| 日韩无限资源| 人人妻人人爽一区二区三区| 久久精品无码不卡| 男人 天堂 日 亚洲| 九九综合久久| 五月婷婷激情网| 亚洲四虎熟女精品| 国产性爱在线视频一区二区| a片 xxxx受爽视频| 69久久| 夜夜嗨TV| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 啊啊在线| 啊啊啊啊无码| 巨乳特殊服务按摩| 超碰97综合在线| 国产精品伦理| 精品日日人妻| 精品久9| 欧美中文综合| 久久97| 青草综合| 成人小说另类在线| 美女被啪到深处抽搐视频| 亚洲爽图| 免费av高清无码| 人人做天天爱| 91欧美成人色站| www.操| 五月婷婷hd| 国产精品密臀网在线观看| 大香蕉宅男伊人| 97精品久久久久久久| 天天综合网入口~91| 最新av在线| 91美女视频电影| 亚洲丝袜二区在线| 五十路一区无码| 国产精品com| 国产亚洲深夜激情| 家庭乱伦网站国产| 亚洲九区| 亚洲 图片 欧美 色图| 97久久精品国产| 日韩淫色网| 日比av无码| 思思热在线视频在线| 中文字幕在线观看永久| 免费精品福利在线观看| 美女尤物福利视频| 91欧美性| 亚洲一区二区三区婷婷| 校园春色 欧美| 操婢日韩| 人妻系列无码专区中文有码| 天天日B夜夜干B时时操B| 99这里只有精品| 插老姨肥穴| 国产成人精品一区| 日本韩高清无砖码22o| 天天看天天在线精品| 免费AV播放| 蜜桃久久综合视频| 91偷拍欧美亚洲| 加勒比无码毛片| 中文字幕久久婷婷丁香五月天| h无码动漫在线观看| 五月天婷婷激情| 久神马| 久久精品店| 久久久久久人体| 国产精品探花色| 久久极品一区二区| 男女香蕉一区二区| 成人精品久久久午夜福利| 色综合九九| 大香伊人在线一区| 97欧美综合| 人人爱人人操人人性| 日本99热| 亚洲AV在线资源| 日本精品中文字幕视频| 大香蕉婷婷| 色偷综合| 欧美天天干| 久久99国产综合精品女同| 精品二区三四区五电影 | 狠狠爱综合| 国产自产91区13区| 2020天天色综合| 91影库| 国产av青草| 躁躁躁日日躁2020| 99ri精品| 91丝袜熟女| 日本福利社| 久久久熟女一区| 国产又黄又爽| 炮色五月| 久草加勒比一区在线| 91狠狠色丁香婷婷综合久久| 青青草男人天堂| AV乱伦专区| 国产人伦精品一区二区三区| 97久久精品不卡| 人妻一区视频| 99精品高潮| 日韩性爱毛片操骚逼| 热天堂一区二区| 日日骚AV| 午夜免费视频1000| 九九九精品一区二区无码| 岛国激情视频软件| 国产丰满少妇久久久精品影院| 国产又黄又粗又猛大片| 久久久久密臀视频| 天美欧美国产| 国产精品无码av嫩草| 97视频观看| 测评在线观看AV| 69综合网| 欧美宗合网| 91网站18在线观看| 免费视频在线一区二区不卡| 欧美综合第一| 色呦呦国产精品免费看| 丰满少妇高潮无码| 很黄很色的视频在线观看| 中文字幕人乱码中文字的预防方法| 久久天天艹| 是还免费视频1727我| 国产亚洲日韩欧| 91欧美性| 毛片电影一区二区三区| 久久久性少妇| 97人人模人人爽人人| 91中出视频| 久久久9视频| 在线有码中文字幕| 日韩紧密久久| 亚洲九月丁香| 高跟伊人julia ann| 国产精品无码久久久久2025| 九九九精品色乱九九九| 久久免费精彩视频| 69XX一中文字幕人妻91 | 亚洲国产一级黄色视频| 爱爱久久| www.狠狠操| 性色av大全| 97精品国产精品免费观看| 欧美性爱精品一区二区| 婷婷色综合欧美日韩| 超碰碰激情97+久| 91狠狠综合久久久| 精品欧美乱码久| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 人妻在线中出视频| 午夜丁香| 老司机天天操| 亚洲无码一区成人免费午夜 | 999国产精品999久久久久久| 夜夜高潮夜夜爽| 欧美性巨大╳╳╳╳╳高跟鞋| 欧美不在线| 91国产大片| 精品偷拍13p欧美dodk视频| 啊啊啊草死我| 情侣操 逼视频99| 久久久A∨| 欧美,日韩综合久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚洲色图在线视频| 亚洲少妇中文字幕网址| 国产美女在线精品免费看| 天天日骚逼熟女| 蜜桃视频精品一区二区| 蜜桃av综合网发布| 色香AV| 欧美性五月| 国产精品交换一区二区| 97国产成人精品免费视频| 中文字幕乱亚洲美女精品一区| 91青青在线视频| 亚洲色综合| 伊人久操| 一级性爱视频免费观看 | 国产婷婷综合在线观看| 日本道日本道中文字幕日本道最新日本道在线观看 | 大香蕉综合在线| 少妇天堂网络| 99.色网| 日韩精品中文字幕一| 国产成人91一区二区三区| 9久久精品| 国产精彩女在线观看视频| 爽爽爽免费视频| 亚洲五月天激情| 日本一级性爱| h无码动漫在线观看| 国产久久成人| 亚洲成人精品在线一区| 国产69精品久久久久99尤物| 91少妇人妻| 日韩精品啪啪啪| 97久操| 91操熟女视频| 天天射夜夜| 亚洲综合图片在线| 啊啊啊好舒服视频在线观看| 中文字幕加勒比海高清无码免费视频 | 国产成人网| 久久五月视频| 99综合| 日本免费中文一区二区三区四区| 久久久久9| 日韩啪啪网| 国产传媒操逼视频| 国产AV久久野战精品| 操逼操逼逼操操逼91| 天天操夜夜嗨| 亚洲一区二区中文字幕| 青娱乐久久艹| 天天日天天色| 亚洲色人妻综合| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 嗯嗯嗯啊啊啊操的我好爽| 综合国产97| 日本999精品视频| 人人妻人人色| 97精品一区二区视频| 成人毛片免费| 人人看人人爰人人操| 国产不卡免费在线视频| 91黑人无码激情在线| 日本美女性生活久久久久久久| 中文字幕 一区二区 亚洲无码| 大香蕉中文aV在线| 九九九九免费视频| 国产精品成人午夜福利| 人人操人人93| 人妻一区视频| www.99在线| 91五月天| 亚洲色图伊人网| 久久精品操| 欧美黄页| 亚洲黄色a级片| 日本福利社| 亚洲自拍另类丝袜综合| 久久视频,这里只有精品 | 夜夜 中文视频rt| 综合91网| 中文字幕一区二区三区50路| 人人做,人人操,人人摸| WWW黄片COM| 青青国产精品在线| 午夜无码熟妇丰满人妻| www亚洲欧美| 亚洲成人av电影在线| 五月丁香啪啪| 精品美女少妇一区二区三区| 亚洲干B| 国产一区二区成人av在线播放| 狠狠色伊人亚洲综合网站色| 黄色片大香蕉| 欧美日韩理论一区| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 激情综合网五月婷婷五月天| 亚洲天堂区| 天堂麻豆天美| 精品天堂| 日韩午夜精品一区二区三区电影| 116美女午夜| 四虎884| 激情抓乳插进去啪啪啪日韩| 深爱五月天| 黄色一区三区| 亚洲无线码欧洲精品区别| 久久小视频| 福利大香蕉| 中文字幕AV乱伦| 97国产超湿| 欧美日韩中文字幕不卡| 日韩一级二级三级在线不卡观看完整| 丁香九月激情| 精久久久| 嗯啊抽插大香蕉网页| 韩日男人的天堂| 色爱亚洲| 久久激情网| 午夜啊啊啊| 日本久久女同性恋视频| 亚洲制服欧美另类内射| 干B| 中文字幕美女91| 天天影视综合网欧美精品| 清纯唯美亚洲另类| 郑州宾馆老熟女露脸啪啪| 欧美白嫩女HD| 操逼视频国产无套| 国模一区二区三区| 清纯唯美综合| 90后性网国产欧美| 精品二区久久| 伦理片秋霞免费影院| 色综合久久夜色精品国产天堂 | 校园春色AV天堂| 人妻-91porn| 亚洲激情天堂网| 97国产超碰| 亚洲色图久久成人| 亚洲欧美第一页| 国产激情综合五月久久| 97少妇人妻中文字幕久久| 亚欧成人综合影院| 麻豆一区在线| 草草影院最新网址| 亚洲色图 图片| 国产1769在线| 九月丁香婷婷色| 久日91在线| AV污污污污| 97亚洲国产| 欧美日韩操逼嗦吊| 久久老熟女| 先锋精品av色鲁| 玖玖爱影院| 精品人妻一区二区免费蜜桃| 好吊色综合| 国产精选三级在线观看| 无套后入双马尾| 久无码| 国产精品福利资源在线尤物| 成人网欧美风情| 97超碰人人操人人操| 久草视频制服诱惑| 91精品亚洲内射孕妇| 欧美乱妇狂野欧美在线视频| 无码日韩人妻av一| 国产91美女视频| 91啪啪视频| 久久精品一区二区三区四区五区| 春色校园综合网| 国产成人超碰在线| 欧美极品色| 五月激情影院| 麻豆视频国产一区二区| 亚洲高清少妇| 五月丁香影视| 久久久99免费| 亚洲乱色视频一区、二区在线| 国产懂色精品国产av| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日本一区三级韩国| 国产高清精品一区二区三区毛片| 色香综合天天影视综合 | 欧美日韩久久精品爱爱| 欧美亚洲第1页| 日韩AV无码中文一区二区| 992视频一区| 亚州色图欧美| 国产这里只有精品| 国产精品盗摄 偷窥盗摄| 日本97久久| 色呦呦、国产精品| 国产在线精品偷| 日本操逼视频免费| AV色五月| 中文字幕一二三区| 国产一区二区在线电影| 国产精品不卡av免费在线观看| 少妇人妻激情四射| 熟女啪啪视频| 久久超碰国产一区二区三区| 久久精品无码专区| 亚洲欲| 韩国女主播青草福利视频| 自怕偷自怕亚洲精品| 九九九九九九九九九国产精品 | 日韩久久.一级黄色片| 久久久四区| 老司机午夜福利视频一区二区| 乱精品一区字幕二区| 亚洲黄色网址视频| 日本东京热久久久电影| 九九九不卡| 十八禁一区二区无码观看| 大香蕉伊人一区在线观看| 日韩欧美亚欧在线视频| 亚洲自拍青操视频| 欧美国产有色电影| 欧美成人都市人妻| 欧美性爱系列| 丰满人妻无码一区二区三区| 欧美一区二区三区不卡高清视频| 九九精品网| 亚洲限制级| 青青草久久一区网| 91狠狠综合久久久久久| 综合啪啪| 无码少妇精品一区二区60岁老人| 偷拍 欧美 日韩| 欧美色九九| 果冻传媒A片一二三区| 91中文精品日韩欧美在线| 人妻天天爽夜夜爽爽| 婷婷精品| 婷婷色中文字幕| 欧美日韩国内不卡| 性爱乱伦一区| 久久综合婷婷| 激情综合久久| 色五月婷婷色| 99热啪啪| 免费97视频| www.夜夜操| 这里有精品| 成人婷婷丁香| 俄罗斯一区二区视频在线观看| av爱爱爱| 亚洲密乳AV| 中文字幕丝袜| 91丝袜美女视频| 亚洲人妻久久| 国产丰满熟夫69mpp| 亚洲精品欧美专业| 天天看特黄的免费网站| 男人的天堂色偷偷青青草视频婷婷网| 精品网站9999| 97 国产一区| 亚州 综合 色图| 欧美色棕合| 欧色综合| 一本一首道人妻少妇免费久久| 青青草五月天| 一区二区三区色综合| 中字一区| 亚洲黄色电影| 狠狠色伊人亚洲综合网站色| 欧美亚洲一级在线观看| 思思热久久成人| 大香蕉免费乱伦视频| 欧美很很操视频| 婷婷五月天激情网| 91在线欧色| 欧美人妻色| 污到发麻的视频 国产| 三级网站超变态精品| 天天插天天操天天摸天天射天天看| 另类av天堂| 亚洲熟妇综合久久久久久| 亚洲色图自拍| 亚洲 中文 欧美 日韩 在线| 中文字幕一区二区无码成人| 秋霞怕怕片| 男女啪啪啪18禁网站| 欧美精品成人在线播放| 色玖玖| 久久综合18p| 激情四射熟女丝袜| 少妇熟女一区二区三区| 日本丝袜人妻内射| caorenqi shipin| 久久神马影院| 美女爽到高潮91| 人妻9117c| 一个国产在线综合网站| 99色视频| 欧美成人综合| 伊人九九九| 思思热久久成人| 亚洲天堂区| 99热这里只有精品1| 99无码狠狠久久| 一级黄色性爱A级片| 色五月亚洲| 少妇内射www在线观看视频| 日本天天干天天操一区| 久久精品店| 极品粉嫩一区二区| 欧美日韩不卡传媒| 亚洲 日本 国产 综合| 国产版a级片直播在线| 操香逼| 深夜国产福利| 黄色视频特级毛片| 精品v1区| 九九九九九九九九九国产精品 | 91综合国产精品| 国产99热| 午夜操逼不卡| 亚洲国产欧美日韩人妻日中文| 欧美中字不卡| 天天爽夜夜爽夜夜爽精| 欧美熟爽综合| 97久久超碰日韩精品| 国产Aα| 欧美一二三区四五区| 色爱亚洲| 91九九| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 蜜乳AV一区| 青青草视频在线观看一区二区| 蜜臀久久99精品久久久久电影| 亚州AV无码国产精品| 色欲人妻一区二区在线| 亚洲欧美电影| 91欧美| 伊人9| 国产操偷| 久草综合视频| 国产又猛又粗又爽又黄| 区日韩亚洲乱码av电影| 高清无码人妻久久久一区二区三区aⅴ| 粉嫩av在线一区二区| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | av天堂电影网| 久久久免费一级黄片| 老熟妇一区二区三区| 日本丝袜人妻内射| 久久动漫精品视频这里只有精品| 白丝被操91| 色综合潮| 天天色黄色影院天天操| 97操97色| 亚洲双插| 亚洲无992tv| 欧美人与性动交a美精品| 日本97久久久精品| 久久精品 六十路 熟女 欧美| 日韩97视频!在线| 日韩三级伊人| 狠狠干狠狠色| 青青草中出视频 | 夜夜嗷嗷一区二区| 一区超碰一区| 国产精品电影| 日本天天干天天操一区| 九九九九九九九精品视频| 中文 人妻 制服| 六九九九| av网站在线看| 一级黄碟在线观看| 亚洲熟女精品| 综合激情一一91| 伊人久久婷婷| 欧美日韩中文字幕人妻| 久久久久精| 无码一区免费在线不卡| 国产精品老熟女一区二区| 激情综合网激情综合| 精品国产一区二区三区久久久蜜臀 | 久久精品亚洲成a人天堂| 少妇熟女视频一区二区三区| 日本色色色| 欧美激情内射| 天天操女人| 人人摸.人人色| 夜夜免费视频| 大香蕉一线视频| 亚洲91色| 久久一二三四不卡 | 国产第11页| 91Chinese在线| 欧美精品23| 久久久久久久综合,国产| 97在线视频观看| 欧美精品成人一区二区在线观看| 国产高清不卡视频| 国产强奸超碰AV| 9999久久久| 亚洲大胆人体av| 色噜噜婷婷| 色在线综合| 一本色道久久综合亚洲二区三区| 亚洲成人碰碰| www.yeyecao| 亚洲午夜精品久久久中文影院| 91丨国产丨白浆| 色呦呦呦在线观看视频| 亚洲素人综合| 日韩女优在线| 91社区拍啪人妻| 美女爽到高潮91| 97 视频在线| 欧美人妻精品一区二区| 久久久四区| 国产欧美第五页| 日韩国产在线观看av| 日本综合色图| 2019亚洲男人天堂| 久久人妻97久久久久久久| 亚洲制服欧美另类内射| 十八禁啪啪视频| 天堂av最新电影网| 日韩在线97| 亚洲日韩成人性爱视频| av无线看| 天天看天天日天天操| 久9久9久9久9久9久9| 日韩国产十八禁| 丝袜制服字幕在线| 色色婷婷五月天| 老熟妇一区二区三区…| 四虎精品亚洲| 啊啊啊啊啊舒服| 伊人久久大香蕉线AV五月天| 男女激情黄色网址| 日韩国产精品人妻无码久久久| 少妇专区一二三四五| 久久久9品一区二区三区| 一本色道综合久久欧美| 三四中文字幕| 夜夜嗨一区二区三区三州加勒比 | 国产在线视频二区| 亚洲?V高清一区二区三区尤物| 欧美午夜色妇色鬼| 久久熟女人| 91美女丝袜诱惑视频| A片 AV一级在线播放观看免费| 久热精品在线| 97欧美久久久久久久| 欲射影视| 久操 高清| 亚洲日本男人天堂网| 亚洲天堂综合AV| 色婷婷综合视频| 免费精品福利在线观看| 日本免费专区| 国产性爱在线视频一区二区| 久操91视频| 久久色网| 女人天堂av在线播放| 国产伦精品| 国产路线专区| 亚洲毛片久久| 一区二区视频在看| 怡春院久久| 婷婷性网| 99热这里都是精品| 都市激情人妻一区二区青青操视频 | 亚洲色图亚洲无码强奸乱伦| 韩国成人精品久久久免费看| 欧美黄色手机在线观看| 乱伦强奸区日韩| 人妻天天爽天天爽三区| 欧美激情综合| 国语精品av| 久热最新在线杭州| 97Ai亚洲| 久久久久久精| 亚洲网站一区二区在线| 国产无马在线| 国产综合在线视频网站| 神马久久免费电影观看| 免费一级特黄特色大片在线观看看| AV和黑人在线播放| 日韩欧美国产一区二区三区四区| 日逼97| 国产深喉视频一区二区| 91狠狠综合| 国产一区二区二区按摩精品啪视频| 亚洲少妇自拍中文字幕懂色| 东京热91| 热99这里有精品综合久久 | 五月天伊人| 啊啊啊啊啊操我视频| 日韩噜噜69| 欧美 日韩第一性色| 啪啪自拍九九综合| 在线视频资源| 成人精品久久久午夜福利| 26uuu性物| 爱我干综合|