NVIDIA TensorRT研究及模型加速使用
背景说明
在已有的服务器上部署了自己的项目代码,显卡是最新的PRO2000,但是处理的图像分辨率是1920*1080,视频帧频是20fps,进过分析代码发现,在直接使用pytorch训练的模型.pt算力有点吃紧,于是考虑通过转换模型格式来优化程序处理速度,从而改变前台画面的显示流畅度。值得一提的是,直接在windows上使用pip命令安装,很多时候编译都是错误额,因此考虑使用编译好的文件来安装。
分析说明
一般用 pip install tensorrt 會報錯並且卡在編譯失敗,這完全不是你的問題。在 Windows 系統下,直接用 pip 安裝 TensorRT 會試圖在你的電腦上進行 C++ 源碼編譯。如果你沒有完美安裝好對應版本的 Visual Studio C++ 編譯工具、環境變數,它 100% 會報錯。
既然這條路不通,我們就用工業界最正統的繞道方案。以下我為你準備了三個最有效的替代方案,強烈建議你優先使用方案一!
🥇 方案一:官方 Zip 壓縮檔 + 本地安裝 Wheel (最推薦,絕對不用編譯)
NVIDIA 官方其實早就幫你把 Python 的安裝檔編譯好了,只是它藏在官方的 Zip 壓縮檔裡,而不是放在 PyPI (pip) 伺服器上。
執行步驟:
-
前往英偉達官網: 登入 NVIDIA Developer 網站,進入 TensorRT 下載頁面。
-
選擇正確版本: 根據你電腦上目前的 CUDA 版本 (例如 CUDA 11.8 或 12.1),下載對應的 Windows Zip 壓縮包 (通常叫做
TensorRT-x.x.x.x.Windows10.x86_64.cuda-x.x.zip)。 -
解壓縮與設定環境變數: * 將下載的檔案解壓縮到 C 槽 (例如
C:\TensorRT)。-
把
C:\TensorRT\libC:\TensorRT\bin這路徑,加入到你 Windows 系統的「環境變數 -> Path」裡面 (這一步極度重要,否則 Python 找不到底層 DLL)。
-
-
手動安裝現成的 Python 套件 (避開編譯):
-
打開終端機 (cmd),進入你解壓縮的目錄下的
python資料夾:cd C:\TensorRT\python -
裡面會有很多
.whl檔案 (Wheel 檔就是已經編譯好的二進制套件)。 -
找到對應你 Python 版本的檔案 (例如 Python 3.10 就是
Bashcp310),然後執行:pip install tensorrt-x.x.x-cp310-none-win_amd64.whl
搞定!這樣安裝完全不會觸發編譯,1 秒鐘直接裝好!
-
🥈 方案二:轉戰 WSL2 (Windows Subsystem for Linux)
如果你發現在 Windows 下搞這些 CUDA、cuDNN、TensorRT 的路徑配置快讓你瘋掉,那我強烈建議你安裝 Windows 內建的 WSL2 (Ubuntu)。
-
為什麼? Linux 是深度學習的「一等公民」。在 Ubuntu 下,NVIDIA 的套件支援度極高。
-
在 WSL2 裡面,你甚至不需要自己去官網抓檔案,只要透過 Ubuntu 的
apt-get或是直接pip install tensorrt,成功率都比 Windows 本機高出 90% 以上,省下極大的心力。
🥉 方案三:使用 C++ 轉換工具 trtexec.exe (最硬核)
如果你只是為了「把 .pt 轉成 .engine」,而沒有要在 Python 程式碼裡 import tensorrt 進行二次開發,那你根本不需要在 Python 裡安裝 TensorRT!
-
做法: 按照方案一的步驟,把 TensorRT 的 Zip 檔解壓縮。
-
直接轉換: 進入
C:\TensorRT\bin目錄,你會看到一個trtexec.exe檔案。 -
先用 Python 把模型轉成 ONNX:
yolo export model=your_model.pt format=onnx half=True -
然後直接用 CMD 呼叫這個
Bash.exe執行檔幫你編譯 Engine:trtexec.exe --onnx=your_model.onnx --saveEngine=your_model.engine --fp16這樣完全繞開了 Python 環境的依賴泥淖!
這三種方案都能幫你擺脫 pip 編譯失敗的噩夢。在你去 NVIDIA 官網下載之前,請問你目前電腦上安裝的 CUDA 版本是多少呢? (可以在終端機輸入 nvcc -V 查看) 確認版本後我能告訴你下載哪一個 TensorRT 最不會踩坑!
资源分享
下载网址:NVIDIA TensorRT | NVIDIA 开发者
需要先注册账号,如果已经有账号,登录即可。
可用版本如下:

在这里根据自己的显卡和Cuda选择时候自己的版本:

下载问价大概2个G左右,下载后解压缩文件夹如下:

📦 為什麼 TensorRT 這麼肥大?
-
底層硬體驅動函式庫 (DLLs): 裡面塞滿了可以直接跟你的 RTX Pro 2000 顯示卡晶片對話的底層 C++ 編譯動態連結庫 (
.dll)。這些檔案為了追求極致效能,體積都非常大。 -
多代顯卡支援 (Fat Binaries): NVIDIA 為了讓這個安裝包能跑在不同世代的顯卡上(例如你的 Turing/Ampere 架構、最新的 Ada/Hopper 架構),裡面包含了針對每一種晶片架構單獨編譯的指令集。
-
神兵利器
trtexec.exe: 我們上一回合提到的,那個可以直接繞過 Python、用 C++ 底層幫你把.onnx暴力轉成.engine的官方編譯器,就藏在裡面的bin資料夾下。 -
全套 Python Wheel 檔合集: 為了不用編譯,它在
python資料夾裡面,直接塞滿了給 Python 3.8、3.9、3.10、3.11、3.12 所有版本的免編譯安裝檔 (.whl)。
结果
成功重启后,第一张图片处理会比较慢,因为要加载,后续处理速度明显提高,推理速度从40-60ms降低到了15-25ms左右。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)