在前一篇文章已經(jīng)帶著讀者創(chuàng)建一個(gè) Triton 的推理模型倉(cāng),現(xiàn)在只要安裝好服務(wù)器端與用戶端軟件,就能進(jìn)行基本的測(cè)試與體驗(yàn)。
為了簡(jiǎn)化過(guò)程,我們使用 NVIDIA Jetson AGX Orin 設(shè)備進(jìn)行示范,所有步驟都能適用于各種基于 NVIDIA Jetson 智能芯片的邊緣設(shè)備上,也適用于大部分裝載 Ubuntu 18 以上操作系統(tǒng)的 x86 設(shè)備上,即便設(shè)備上沒有安裝 NVIDIA 的 GPU 計(jì)算卡也能使用,只不過(guò)我們的提供的內(nèi)容都是基于 GPU 計(jì)算環(huán)境,對(duì)于純 CPU 的使用則需要用戶自行研讀說(shuō)明文件。
現(xiàn)在就開始安裝 Triton 服務(wù)器軟件,NVIDIA 為 Triton 服務(wù)器提供以下三種軟件安裝的方式:
1. 源代碼編譯
這種方式需要從https://github.com/triton-inference-server/server下載源代碼,然后安裝依賴庫(kù),再用 cmake 與 make 工具進(jìn)行編譯。通常會(huì)遇到的麻煩是步驟繁瑣,并且出錯(cuò)率較高,因此并不推薦使用這個(gè)方法。
有興趣者,請(qǐng)自行參考前面下載的開源倉(cāng)里的docs/customization_guide/build.md文件,有關(guān)于 Ubuntu 20.04、Jetpack 與 Windows 等各種平臺(tái)的編譯細(xì)節(jié)。
2. 可執(zhí)行文件
Triton 開發(fā)團(tuán)隊(duì)為使用者提供編譯好的可執(zhí)行文件,包括 Ubuntu 20.04、Jetpack 與Windows 平臺(tái),可以在https://github.com/triton-inference-server/server/releases/ 上獲取,每個(gè)版本都會(huì)提供對(duì)應(yīng) NGC 容器的版本,如下圖:

然后到下面的“Assets”選擇合適的版本:

以裝載 Jetpack 5 的 Orin 為例,就下載
tritonserver2.26.0-jetpack5.0.2.tgz(1.13GB)壓縮文件到本機(jī)上,然后解壓縮到指定目錄下就可以,例如 ${HOME}/triton 目錄,會(huì)生成
在執(zhí)行 Triton 服務(wù)器軟件前,還得先安裝所需要的依賴庫(kù),請(qǐng)執(zhí)行以下指令:
sudo apt-get update
sudoapt-getinstall-y--no-install-recommendssoftware-properties-commonautoconfautomakebuild-essentialgitlibb64-devlibre2-devlibssl-devlibtoollibboost-devrapidjson-devpatchelfpkg-configlibopenblas-devlibarchive-devzlib1g-dev現(xiàn)在就可以執(zhí)行以下指令啟動(dòng) Triton 服務(wù)器:
cd ${HOME}/triton
bin/tritonserver--model-repository=server/docs/examples/model_repository--backend-directory=backends--backend-config=tensorflow,version=2如果最后出現(xiàn)以下畫面并且進(jìn)入等待狀態(tài):

現(xiàn)在 Triton 服務(wù)器已經(jīng)正常運(yùn)行,進(jìn)入等待用戶端提出請(qǐng)求(request)的狀態(tài)。
3. Docker容器
在NGC的
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tritonserver/tags可以找到 Triton 服務(wù)器的 Docker 鏡像文件,每個(gè)版本主要提供以下幾種版本:
year-xy-py3:包含 Triton 推理服務(wù)器,支持 Tensorflow、PyTorch、TensorRT、ONNX 和 OpenVINO 模型;
year-xy-tf2-python-py3:僅支持 TensorFlow 2.x 和 python 后端的 Triton 推理服務(wù)器;
year-xy-pyt-python-py3:僅支持 PyTorch 和 python 后端的 Triton 服務(wù)器;
year-xy-py3-min:用作創(chuàng)建自定義 Triton 服務(wù)器容器的基礎(chǔ),如 Customize Triton Container(自定義Triton容器)說(shuō)明文件所描述的內(nèi)容;
其中“year”是年份的數(shù)字,例如 2022 年提交的就是“22”開頭;后面的“xy”是流水號(hào),每次往上加“1”,例如 2022 年 10 月 4 日提交的版本為“22-09”。
NVIDIA 提供的 Triton 容器鏡像是同時(shí)支持 x86 / AMD64 與 ARM64 架構(gòu)的系統(tǒng),以 22.09-py3 鏡像為例,可以看到如下圖所標(biāo)示的“2 Architectures”:

點(diǎn)擊最右方的“向下”圖標(biāo),會(huì)展開如下圖的內(nèi)容,事實(shí)上是有兩個(gè)不同版本的鏡像,不過(guò)使用相同鏡像名:

因此在 x86 電腦與 Jetson 設(shè)備都使用相同的鏡像下載指令,如下:
docker pull nvcr.io/nvidia/tritonserver:22.09-py3就能根據(jù)所使用設(shè)備的 CPU 架構(gòu)去下載對(duì)應(yīng)的鏡像,現(xiàn)在執(zhí)行以下指令來(lái)啟動(dòng) Triton 服務(wù)器:
# 根據(jù)實(shí)際的模型倉(cāng)根目錄位置設(shè)定TRITON_MODEL_REPO路徑
export TRITON_MODEL_REPO=${HOME}/triton/server/docs/examples/model_repository
# 執(zhí)行Triton服務(wù)器
dockerrun--rm--net=host-v${TRITON_MODEL_REPO}:/modelsnvcr.io/nvidia/tritonserver:22.09-py3tritonserver--model-repository=/models如果執(zhí)行正常,也會(huì)出現(xiàn)以下的等待畫面,表示運(yùn)行是正確的:

以上三種方式都能在計(jì)算設(shè)備上啟動(dòng) Triton 服務(wù)器軟件,目前看起來(lái)使用 Docker 鏡像是最為簡(jiǎn)單的。當(dāng)服務(wù)器軟件啟動(dòng)之后,就處于“等待請(qǐng)求”狀態(tài),可以使用“Ctrl-C”組合鍵終止服務(wù)器的運(yùn)行。
有一種確認(rèn) Triton 服務(wù)器正常運(yùn)行的最簡(jiǎn)單方法,就是用 curl 指令檢查 HTTP 端口的狀態(tài),請(qǐng)執(zhí)行以下指令:
curl -v localhost:8000/v2/health/ready如果有顯示“HTTP/1.1 200 OK”的信息(如下圖),就能確定 Triton 服務(wù)器處于正常運(yùn)行的狀態(tài):

接下去就要安裝客戶端軟件,用來(lái)對(duì)服務(wù)器提出推理請(qǐng)求,這樣才算完成一個(gè)最基礎(chǔ)的推理周期。
推薦閱讀
NVIDIA Jetson Nano 2GB 系列文章(1):開箱介紹

NVIDIA Jetson Nano 2GB 系列文章(2):安裝系統(tǒng)

NVIDIA Jetson Nano 2GB 系列文章(3):網(wǎng)絡(luò)設(shè)置及添加 SWAPFile 虛擬內(nèi)存

NVIDIA Jetson Nano 2GB 系列文章(4):體驗(yàn)并行計(jì)算性能

NVIDIA Jetson Nano 2GB 系列文章(5):體驗(yàn)視覺功能庫(kù)

NVIDIA Jetson Nano 2GB 系列文章(6):安裝與調(diào)用攝像頭

NVIDIA Jetson Nano 2GB 系列文章(7):通過(guò) OpenCV 調(diào)用 CSI/USB 攝像頭

NVIDIA Jetson Nano 2GB 系列文章(8):執(zhí)行常見機(jī)器視覺應(yīng)用

NVIDIA Jetson Nano 2GB 系列文章(9):調(diào)節(jié) CSI 圖像質(zhì)量

NVIDIA Jetson Nano 2GB 系列文章(10):顏色空間動(dòng)態(tài)調(diào)節(jié)技巧

NVIDIA Jetson Nano 2GB 系列文章(11):你應(yīng)該了解的 OpenCV

NVIDIA Jetson Nano 2GB 系列文章(12):人臉定位

NVIDIA Jetson Nano 2GB 系列文章(13):身份識(shí)別

NVIDIA Jetson Nano 2GB 系列文章(14):Hello AI World

NVIDIA Jetson Nano 2GB 系列文章(15):Hello AI World 環(huán)境安裝

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” 擴(kuò)充參數(shù)解析功能

NVIDIA Jetson Nano 2GB 系列文章(21):身份識(shí)別

NVIDIA Jetson Nano 2GB 系列文章(22):“Hello AI World” 圖像分類代碼

NVIDIA Jetson Nano 2GB 系列文章(23):“Hello AI World 的物件識(shí)別應(yīng)用

NVIDIAJetson Nano 2GB 系列文章(24): “Hello AI World” 的物件識(shí)別應(yīng)用

NVIDIAJetson Nano 2GB 系列文章(25): “Hello AI World” 圖像分類的模型訓(xùn)練

NVIDIAJetson Nano 2GB 系列文章(26): “Hello AI World” 物件檢測(cè)的模型訓(xùn)練

NVIDIAJetson Nano 2GB 系列文章(27): DeepStream 簡(jiǎn)介與啟用

NVIDIAJetson Nano 2GB 系列文章(28): DeepStream 初體驗(yàn)

NVIDIAJetson Nano 2GB 系列文章(29): DeepStream 目標(biāo)追蹤功能

NVIDIAJetson Nano 2GB 系列文章(30): DeepStream 攝像頭“實(shí)時(shí)性能”

NVIDIAJetson Nano 2GB 系列文章(31): DeepStream 多模型組合檢測(cè)-1

NVIDIAJetson Nano 2GB 系列文章(32): 架構(gòu)說(shuō)明與deepstream-test范例

NVIDIAJetsonNano 2GB 系列文章(33): DeepStream 車牌識(shí)別與私密信息遮蓋

NVIDIA Jetson Nano 2GB 系列文章(34): DeepStream 安裝Python開發(fā)環(huán)境

NVIDIAJetson Nano 2GB 系列文章(35): Python版test1實(shí)戰(zhàn)說(shuō)明

NVIDIAJetson Nano 2GB 系列文章(36): 加入U(xiǎn)SB輸入與RTSP輸出

NVIDIAJetson Nano 2GB 系列文章(37): 多網(wǎng)路模型合成功能

NVIDIAJetson Nano 2GB 系列文章(38): nvdsanalytics視頻分析插件

NVIDIAJetson Nano 2GB 系列文章(39): 結(jié)合IoT信息傳輸

NVIDIAJetson Nano 2GB 系列文章(40): Jetbot系統(tǒng)介紹

NVIDIAJetson Nano 2GB 系列文章(41): 軟件環(huán)境安裝

NVIDIAJetson Nano 2GB 系列文章(42): 無(wú)線WIFI的安裝與調(diào)試

NVIDIAJetson Nano 2GB 系列文章(43): CSI攝像頭安裝與測(cè)試

NVIDIAJetson Nano 2GB 系列文章(44): Jetson的40針引腳


NVIDIAJetson Nano 2GB 系列文章(46): 機(jī)電控制設(shè)備的安裝

NVIDIAJetson Nano 2GB 系列文章(47): 組裝過(guò)程的注意細(xì)節(jié)

NVIDIAJetson Nano 2GB 系列文章(48): 用鍵盤與搖桿控制行動(dòng)

NVIDIAJetson Nano 2GB 系列文章(49): 智能避撞之現(xiàn)場(chǎng)演示

NVIDIAJetson Nano 2GB 系列文章(50): 智能避障之模型訓(xùn)練

NVIDIAJetson Nano 2GB 系列文章(51): 圖像分類法實(shí)現(xiàn)找路功能

NVIDIAJetson Nano 2GB 系列文章(52): 圖像分類法實(shí)現(xiàn)找路功能

NVIDIAJetson Nano 2GB 系列文章(53): 簡(jiǎn)化模型訓(xùn)練流程的TAO工具套件

NVIDIA Jetson Nano 2GB 系列文章(54):NGC的內(nèi)容簡(jiǎn)介與注冊(cè)密鑰

NVIDIA Jetson Nano 2GB 系列文章(55):安裝TAO模型訓(xùn)練工具

NVIDIA Jetson Nano 2GB 系列文章(56):?jiǎn)?dòng)器CLI指令集與配置文件

NVIDIA Jetson Nano 2GB 系列文章(57):視覺類腳本的環(huán)境配置與映射

NVIDIA Jetson Nano 2GB 系列文章(58):視覺類的數(shù)據(jù)格式

NVIDIA Jetson Nano 2GB 系列文章(59):視覺類的數(shù)據(jù)增強(qiáng)

NVIDIA Jetson Nano 2GB 系列文章(60):圖像分類的模型訓(xùn)練與修剪

NVIDIA Jetson Nano 2GB 系列文章(61):物件檢測(cè)的模型訓(xùn)練與優(yōu)化

NVIDIA Jetson Nano 2GB 系列文章(62):物件檢測(cè)的模型訓(xùn)練與優(yōu)化-2

NVIDIA Jetson Nano 2GB 系列文章(63):物件檢測(cè)的模型訓(xùn)練與優(yōu)化-3

NVIDIA Jetson Nano 2GB 系列文章(64):將模型部署到Jetson設(shè)備

NVIDIA Jetson Nano 2GB 系列文章(65):執(zhí)行部署的 TensorRT 加速引擎

NVIDIA Jetson 系列文章(1):硬件開箱

NVIDIA Jetson 系列文章(2):配置操作系統(tǒng)

NVIDIA Jetson 系列文章(3):安裝開發(fā)環(huán)境

NVIDIA Jetson 系列文章(4):安裝DeepStream

NVIDIA Jetson 系列文章(5):使用Docker容器的入門技巧

NVIDIA Jetson 系列文章(6):使用容器版DeepStream

NVIDIA Jetson 系列文章(7):配置DS容器Python開發(fā)環(huán)境

NVIDIA Jetson 系列文章(8):用DS容器執(zhí)行Python范例

NVIDIA Jetson 系列文章(9):為容器接入U(xiǎn)SB攝像頭

NVIDIA Jetson 系列文章(10):從頭創(chuàng)建Jetson的容器(1)

NVIDIA Jetson 系列文章(11):從頭創(chuàng)建Jetson的容器(2)

NVIDIA Jetson 系列文章(12):創(chuàng)建各種YOLO-l4t容器

NVIDIA Triton系列文章(1):應(yīng)用概論

NVIDIA Triton系列文章(2):功能與架構(gòu)簡(jiǎn)介

NVIDIA Triton系列文章(3):開發(fā)資源說(shuō)明

NVIDIA Triton系列文章(4):創(chuàng)建模型倉(cāng)

原文標(biāo)題:NVIDIA Triton 系列文章(5):安裝服務(wù)器軟件
文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
英偉達(dá)
+關(guān)注
關(guān)注
23文章
4087瀏覽量
99174
原文標(biāo)題:NVIDIA Triton 系列文章(5):安裝服務(wù)器軟件
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【服務(wù)器數(shù)據(jù)恢復(fù)】服務(wù)器raid5陣列raid模塊損壞的數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)—意外斷電!Linux服務(wù)器數(shù)據(jù)恢復(fù)大揭秘
恒訊科技解析:如何在日本服務(wù)器上安裝和配置數(shù)據(jù)庫(kù)(如MySQL)?
服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器斷電導(dǎo)致raid模塊損壞的數(shù)據(jù)恢復(fù)案例
使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實(shí)踐
歐洲VS美國(guó)服務(wù)器怎么選?1分鐘解析核心差異 #歐洲服務(wù)器 #美國(guó)服務(wù)器 #服務(wù)器
服務(wù)器數(shù)據(jù)恢復(fù)—Linux系統(tǒng)服務(wù)器崩潰的數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器重裝系統(tǒng)導(dǎo)致分區(qū)消失的數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器部分?jǐn)?shù)據(jù)目錄項(xiàng)被破壞的數(shù)據(jù)恢復(fù)案例
【教程】Chirpstack V3服務(wù)器簡(jiǎn)介和搭建示例
NVIDIA Triton 系列文章(5):安裝服務(wù)器軟件
評(píng)論