在前一篇文章已經帶著讀者創建一個 Triton 的推理模型倉,現在只要安裝好服務器端與用戶端軟件,就能進行基本的測試與體驗。
為了簡化過程,我們使用 NVIDIA Jetson AGX Orin 設備進行示范,所有步驟都能適用于各種基于 NVIDIA Jetson 智能芯片的邊緣設備上,也適用于大部分裝載 Ubuntu 18 以上操作系統的 x86 設備上,即便設備上沒有安裝 NVIDIA 的 GPU 計算卡也能使用,只不過我們的提供的內容都是基于 GPU 計算環境,對于純 CPU 的使用則需要用戶自行研讀說明文件。
現在就開始安裝 Triton 服務器軟件,NVIDIA 為 Triton 服務器提供以下三種軟件安裝的方式:
1. 源代碼編譯
這種方式需要從https://github.com/triton-inference-server/server下載源代碼,然后安裝依賴庫,再用 cmake 與 make 工具進行編譯。通常會遇到的麻煩是步驟繁瑣,并且出錯率較高,因此并不推薦使用這個方法。
有興趣者,請自行參考前面下載的開源倉里的docs/customization_guide/build.md文件,有關于 Ubuntu 20.04、Jetpack 與 Windows 等各種平臺的編譯細節。
2. 可執行文件
Triton 開發團隊為使用者提供編譯好的可執行文件,包括 Ubuntu 20.04、Jetpack 與Windows 平臺,可以在https://github.com/triton-inference-server/server/releases/ 上獲取,每個版本都會提供對應 NGC 容器的版本,如下圖:
然后到下面的“Assets”選擇合適的版本:
以裝載 Jetpack 5 的 Orin 為例,就下載
tritonserver2.26.0-jetpack5.0.2.tgz(1.13GB)壓縮文件到本機上,然后解壓縮到指定目錄下就可以,例如 ${HOME}/triton 目錄,會生成
在執行 Triton 服務器軟件前,還得先安裝所需要的依賴庫,請執行以下指令:
sudo apt-get update
sudoapt-getinstall-y--no-install-recommendssoftware-properties-commonautoconfautomakebuild-essentialgitlibb64-devlibre2-devlibssl-devlibtoollibboost-devrapidjson-devpatchelfpkg-configlibopenblas-devlibarchive-devzlib1g-dev
現在就可以執行以下指令啟動 Triton 服務器:
cd ${HOME}/triton
bin/tritonserver--model-repository=server/docs/examples/model_repository--backend-directory=backends--backend-config=tensorflow,version=2
如果最后出現以下畫面并且進入等待狀態:
現在 Triton 服務器已經正常運行,進入等待用戶端提出請求(request)的狀態。
3. Docker容器
在NGC的
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tritonserver/tags可以找到 Triton 服務器的 Docker 鏡像文件,每個版本主要提供以下幾種版本:
year-xy-py3:包含 Triton 推理服務器,支持 Tensorflow、PyTorch、TensorRT、ONNX 和 OpenVINO 模型;
year-xy-tf2-python-py3:僅支持 TensorFlow 2.x 和 python 后端的 Triton 推理服務器;
year-xy-pyt-python-py3:僅支持 PyTorch 和 python 后端的 Triton 服務器;
year-xy-py3-min:用作創建自定義 Triton 服務器容器的基礎,如 Customize Triton Container(自定義Triton容器)說明文件所描述的內容;
其中“year”是年份的數字,例如 2022 年提交的就是“22”開頭;后面的“xy”是流水號,每次往上加“1”,例如 2022 年 10 月 4 日提交的版本為“22-09”。
NVIDIA 提供的 Triton 容器鏡像是同時支持 x86 / AMD64 與 ARM64 架構的系統,以 22.09-py3 鏡像為例,可以看到如下圖所標示的“2 Architectures”:
點擊最右方的“向下”圖標,會展開如下圖的內容,事實上是有兩個不同版本的鏡像,不過使用相同鏡像名:
因此在 x86 電腦與 Jetson 設備都使用相同的鏡像下載指令,如下:
docker pull nvcr.io/nvidia/tritonserver:22.09-py3
就能根據所使用設備的 CPU 架構去下載對應的鏡像,現在執行以下指令來啟動 Triton 服務器:
# 根據實際的模型倉根目錄位置設定TRITON_MODEL_REPO路徑
export TRITON_MODEL_REPO=${HOME}/triton/server/docs/examples/model_repository
# 執行Triton服務器
dockerrun--rm--net=host-v${TRITON_MODEL_REPO}:/modelsnvcr.io/nvidia/tritonserver:22.09-py3tritonserver--model-repository=/models
如果執行正常,也會出現以下的等待畫面,表示運行是正確的:
以上三種方式都能在計算設備上啟動 Triton 服務器軟件,目前看起來使用 Docker 鏡像是最為簡單的。當服務器軟件啟動之后,就處于“等待請求”狀態,可以使用“Ctrl-C”組合鍵終止服務器的運行。
有一種確認 Triton 服務器正常運行的最簡單方法,就是用 curl 指令檢查 HTTP 端口的狀態,請執行以下指令:
curl -v localhost:8000/v2/health/ready
如果有顯示“HTTP/1.1 200 OK”的信息(如下圖),就能確定 Triton 服務器處于正常運行的狀態:
接下去就要安裝客戶端軟件,用來對服務器提出推理請求,這樣才算完成一個最基礎的推理周期。
推薦閱讀
NVIDIA Jetson Nano 2GB 系列文章(1):開箱介紹
NVIDIA Jetson Nano 2GB 系列文章(2):安裝系統
NVIDIA Jetson Nano 2GB 系列文章(3):網絡設置及添加 SWAPFile 虛擬內存
NVIDIA Jetson Nano 2GB 系列文章(4):體驗并行計算性能
NVIDIA Jetson Nano 2GB 系列文章(5):體驗視覺功能庫
NVIDIA Jetson Nano 2GB 系列文章(6):安裝與調用攝像頭
NVIDIA Jetson Nano 2GB 系列文章(8):執行常見機器視覺應用
NVIDIA Jetson Nano 2GB 系列文章(9):調節 CSI 圖像質量
NVIDIA Jetson Nano 2GB 系列文章(10):顏色空間動態調節技巧
NVIDIA Jetson Nano 2GB 系列文章(11):你應該了解的 OpenCV
NVIDIA Jetson Nano 2GB 系列文章(12):人臉定位
NVIDIA Jetson Nano 2GB 系列文章(13):身份識別
NVIDIA Jetson Nano 2GB 系列文章(14):Hello AI World
NVIDIA Jetson Nano 2GB 系列文章(15):Hello AI World 環境安裝
NVIDIA Jetson Nano 2GB 系列文章(16):10行代碼威力
NVIDIA Jetson Nano 2GB 系列文章(17):更換模型得到不同效果
NVIDIA Jetson Nano 2GB 系列文章(18):Utils 的 videoSource 工具
NVIDIA Jetson Nano 2GB 系列文章(19):Utils 的 videoOutput 工具
NVIDIA Jetson Nano 2GB 系列文章(20):“Hello AI World” 擴充參數解析功能
NVIDIA Jetson Nano 2GB 系列文章(21):身份識別
NVIDIA Jetson Nano 2GB 系列文章(22):“Hello AI World” 圖像分類代碼
NVIDIA Jetson Nano 2GB 系列文章(23):“Hello AI World 的物件識別應用
NVIDIAJetson Nano 2GB 系列文章(24): “Hello AI World” 的物件識別應用
NVIDIAJetson Nano 2GB 系列文章(25): “Hello AI World” 圖像分類的模型訓練
NVIDIAJetson Nano 2GB 系列文章(26): “Hello AI World” 物件檢測的模型訓練
NVIDIAJetson Nano 2GB 系列文章(27): DeepStream 簡介與啟用
NVIDIAJetson Nano 2GB 系列文章(28): DeepStream 初體驗
NVIDIAJetson Nano 2GB 系列文章(29): DeepStream 目標追蹤功能
NVIDIAJetson Nano 2GB 系列文章(30): DeepStream 攝像頭“實時性能”
NVIDIAJetson Nano 2GB 系列文章(31): DeepStream 多模型組合檢測-1
NVIDIAJetson Nano 2GB 系列文章(32): 架構說明與deepstream-test范例
NVIDIAJetsonNano 2GB 系列文章(33): DeepStream 車牌識別與私密信息遮蓋
NVIDIA Jetson Nano 2GB 系列文章(34): DeepStream 安裝Python開發環境
NVIDIAJetson Nano 2GB 系列文章(35): Python版test1實戰說明
NVIDIAJetson Nano 2GB 系列文章(36): 加入USB輸入與RTSP輸出
NVIDIAJetson Nano 2GB 系列文章(37): 多網路模型合成功能
NVIDIAJetson Nano 2GB 系列文章(38): nvdsanalytics視頻分析插件
NVIDIAJetson Nano 2GB 系列文章(39): 結合IoT信息傳輸
NVIDIAJetson Nano 2GB 系列文章(40): Jetbot系統介紹
NVIDIAJetson Nano 2GB 系列文章(41): 軟件環境安裝
NVIDIAJetson Nano 2GB 系列文章(42): 無線WIFI的安裝與調試
NVIDIAJetson Nano 2GB 系列文章(43): CSI攝像頭安裝與測試
NVIDIAJetson Nano 2GB 系列文章(44): Jetson的40針引腳
NVIDIAJetson Nano 2GB 系列文章(46): 機電控制設備的安裝
NVIDIAJetson Nano 2GB 系列文章(47): 組裝過程的注意細節
NVIDIAJetson Nano 2GB 系列文章(48): 用鍵盤與搖桿控制行動
NVIDIAJetson Nano 2GB 系列文章(49): 智能避撞之現場演示
NVIDIAJetson Nano 2GB 系列文章(50): 智能避障之模型訓練
NVIDIAJetson Nano 2GB 系列文章(51): 圖像分類法實現找路功能
NVIDIAJetson Nano 2GB 系列文章(52): 圖像分類法實現找路功能
NVIDIAJetson Nano 2GB 系列文章(53): 簡化模型訓練流程的TAO工具套件
NVIDIA Jetson Nano 2GB 系列文章(54):NGC的內容簡介與注冊密鑰
NVIDIA Jetson Nano 2GB 系列文章(55):安裝TAO模型訓練工具
NVIDIA Jetson Nano 2GB 系列文章(56):啟動器CLI指令集與配置文件
NVIDIA Jetson Nano 2GB 系列文章(57):視覺類腳本的環境配置與映射
NVIDIA Jetson Nano 2GB 系列文章(58):視覺類的數據格式
NVIDIA Jetson Nano 2GB 系列文章(59):視覺類的數據增強
NVIDIA Jetson Nano 2GB 系列文章(60):圖像分類的模型訓練與修剪
NVIDIA Jetson Nano 2GB 系列文章(61):物件檢測的模型訓練與優化
NVIDIA Jetson Nano 2GB 系列文章(62):物件檢測的模型訓練與優化-2
NVIDIA Jetson Nano 2GB 系列文章(63):物件檢測的模型訓練與優化-3
NVIDIA Jetson Nano 2GB 系列文章(64):將模型部署到Jetson設備
NVIDIA Jetson Nano 2GB 系列文章(65):執行部署的 TensorRT 加速引擎
NVIDIA Jetson 系列文章(1):硬件開箱
NVIDIA Jetson 系列文章(2):配置操作系統
NVIDIA Jetson 系列文章(3):安裝開發環境
NVIDIA Jetson 系列文章(4):安裝DeepStream
NVIDIA Jetson 系列文章(5):使用Docker容器的入門技巧
NVIDIA Jetson 系列文章(6):使用容器版DeepStream
NVIDIA Jetson 系列文章(7):配置DS容器Python開發環境
NVIDIA Jetson 系列文章(8):用DS容器執行Python范例
NVIDIA Jetson 系列文章(9):為容器接入USB攝像頭
NVIDIA Jetson 系列文章(10):從頭創建Jetson的容器(1)
NVIDIA Jetson 系列文章(11):從頭創建Jetson的容器(2)
NVIDIA Jetson 系列文章(12):創建各種YOLO-l4t容器
NVIDIA Triton系列文章(1):應用概論
NVIDIA Triton系列文章(2):功能與架構簡介
NVIDIA Triton系列文章(3):開發資源說明
NVIDIA Triton系列文章(4):創建模型倉
原文標題:NVIDIA Triton 系列文章(5):安裝服務器軟件
文章出處:【微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
-
英偉達
+關注
關注
22文章
3783瀏覽量
91257
原文標題:NVIDIA Triton 系列文章(5):安裝服務器軟件
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論