0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NVIDIA Triton 系列文章(6):安裝用戶端軟件

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來源:未知 ? 2022-11-29 19:20 ? 次閱讀

在前面的文章中,已經(jīng)帶著讀者創(chuàng)建好 Triton 的模型倉、安裝并執(zhí)行 Triton 推理服務(wù)器軟件,接下來就是要安裝 Triton 用戶端軟件,對(duì)服務(wù)器提出推理請(qǐng)求(requests),才能觸發(fā)服務(wù)器執(zhí)行推理計(jì)算的任務(wù)


由于用戶端的功能是在向服務(wù)器提出推理需求,本身并不參與計(jì)算,因此不用考慮設(shè)備性能或者是否裝載 GPU 設(shè)備,即便是一臺(tái)最基本的 Windows 上網(wǎng)本都能使用,只要安裝合適的用戶端軟件就可以。


為了適應(yīng)更多種使用場景,Triton 用戶端支持 C++/Python/Java/GO 等通用性高的在編程語言,底層還支持 HTTP/REST 與 gRPC 通訊協(xié)議,甚至還支持 SSL/TLS 加密選項(xiàng),以及多種在線壓縮(on-wire compression)算法,內(nèi)容是相當(dāng)豐富并且多元化,完整的內(nèi)容可以在https://github.com/triton-inference-server/client 開源倉里找到,本文只先提供 Python 用戶端的部分。


與服務(wù)器的安裝方式類似,NVIDIA 提供以下 4 種安裝方式:


1. 源代碼編譯


這種方式需要從https://github.com/triton-inference-server/client 下載源代碼,執(zhí)行步驟在https://github.com/triton-inference-server/client#build-using-cmake 環(huán)節(jié),通常會(huì)遇到的麻煩是步驟繁瑣,并且出錯(cuò)率較高,因此并不推薦使用這個(gè)方法。


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ì)生成 、、、 等 6 個(gè)目錄,用戶端的可執(zhí)行文件在目錄下,目前有將近 30 個(gè)終端功能。


現(xiàn)在要使用 image_client 這個(gè)最基礎(chǔ)的識(shí)別終端軟件,對(duì) qa/images/mug.jpg(下圖)這張圖片進(jìn)行推理。



請(qǐng)先確認(rèn) Triton 服務(wù)器軟件已經(jīng)啟動(dòng)并且處于等待請(qǐng)求的狀態(tài),現(xiàn)在請(qǐng)開啟另一個(gè)命令終端,輸入以下指令提交推理請(qǐng)求:


cd  ${HOME}/triton
./clients/bin/image_client-mdensenet_onnx-c3-sINCEPTIONqa/images/mug.jpg


這道指令使用 clients/bin/image_client 終端,請(qǐng)求服務(wù)器使用 densenet_onnx 推理模型,對(duì) qa/images/mug.jpg(下圖)進(jìn)行識(shí)別。這里的參數(shù)“-c 3”是要求識(shí)別的分類最多可以到 3 項(xiàng),指令執(zhí)行結(jié)果如下,表示正確識(shí)別圖像的 3 個(gè)可能分類:



其他終端軟件會(huì)在后面文章中說明。


3. Docker容器版用戶端


在安裝 Triton 服務(wù)器軟件一文中已經(jīng)提過,可以在 NGC 服務(wù)器上可以找到 Triton 的相關(guān)鏡像,其中 year-xy-py3-sdk 里就有提供用戶端軟件。這里同樣在 Jetson AGX Orin 上用 22.09-py3-sdk 鏡像做示范,請(qǐng)先執(zhí)行以下指令下載這個(gè)鏡像并進(jìn)入這個(gè)容器:


dockerpull nvcr.io/nvidia/tritonserver:22.09-py3-sdk
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:22.09-py3-sdk


進(jìn)入容器之后,執(zhí)行以下指令進(jìn)行圖像推理任務(wù):


./install/bin/image_client-mdensenet_onnx-c3-sINCEPTION./images/mug.jpg

執(zhí)行結(jié)果應(yīng)該會(huì)看到如下截屏的內(nèi)容,表示在這里對(duì) Triton 服務(wù)器提出的推理請(qǐng)求,得到正確的計(jì)算結(jié)果。



同樣的,在容器內(nèi) install/bin 目錄下也有將近 30 個(gè)編譯好的終端可執(zhí)行文件,內(nèi)容與前一項(xiàng)壓縮文件所提供的內(nèi)容是一致的,在下一篇文章中進(jìn)行說明。


4. Python 版用戶端


由于 Python 是目前在深度學(xué)習(xí)領(lǐng)域中最重要的編程語言之一,NVIDIA 為 Triton 提供可直接安裝的 Python 庫,只要執(zhí)行以下指令就能輕松安裝:


pip3  install  tritonclient[all]  attrdict  -i  https://pypi.tuna.tsinghua.edu.cn/simple


這個(gè)過程會(huì)安裝以下內(nèi)容:


  • http

  • grpc[service_pb2,service_pb2_grpc,model_config_pb2]

  • utils[ Linux 發(fā)行版將包括shared_memory和cuda_shared_memory]


如果您在前面下載第 2 部分的壓縮文件并且解壓縮,在該目錄之下的 clients/python 里就提供 30 多個(gè) Triton 的 Python 用戶端腳本;如果沒有下載前面的壓縮文件,現(xiàn)在可以執(zhí)行以下指令去復(fù)制 Triton 項(xiàng)目的 client 開源倉:


git clone https://github.com/triton-inference-server/client


然后在 client 開源倉下的 src/python/examples 里有 30 多個(gè) Triton 的 Python 用戶端腳本。


現(xiàn)在進(jìn)到 Python 用戶端腳本的目錄里,執(zhí)行以下指令:


python3  image_client.py  -m  inception_graphdef  -s  INCEPTION 
${HOME}/triton/server/qa/images/mug.jpg


執(zhí)行后會(huì)顯示如下的結(jié)果:



得到推理的結(jié)果為“COFEE MUG”為正確的,表示 Triton 的 Python 用戶端使用環(huán)境是正確的。


以上介紹 4 種安裝 Triton 用戶端軟件的方式,本文只使用 image_client 這個(gè)最簡單的圖像分類用戶端工具,另外還有幾個(gè)比較重要的用戶端工具,后面會(huì)有針對(duì)性的深入講解與示范。


推薦閱讀

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)視覺功能庫



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


NVIDIA Jetson Nano 2GB 系列文章(7):通過 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” 物件檢測的模型訓(xùn)練

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

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 多模型組合檢測-1

NVIDIAJetson Nano 2GB 系列文章(32): 架構(gòu)說明與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)說明

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): 無線WIFI的安裝與調(diào)試

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

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

NVIDIAJetson Nano 2GB 系列文章(45): I2C總線與PiOLED

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

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

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

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

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

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

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

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

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

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

NVIDIA Jetson Nano 2GB 系列文章(56):啟動(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):物件檢測的模型訓(xùn)練與優(yōu)化

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

NVIDIA Jetson Nano 2GB 系列文章(63):物件檢測的模型訓(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)簡介

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

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

NVIDIA Triton 系列文章(5):安裝服務(wù)器軟件


原文標(biāo)題:NVIDIA Triton 系列文章(6):安裝用戶端軟件

文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 英偉達(dá)
    +關(guān)注

    關(guān)注

    22

    文章

    3900

    瀏覽量

    92846

原文標(biāo)題:NVIDIA Triton 系列文章(6):安裝用戶端軟件

文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NVIDIA技術(shù)助力Pantheon Lab數(shù)字人實(shí)時(shí)交互解決方案

    NVIDIA Triton,Pantheon Lab 訓(xùn)練速度提高 10 倍、推理延遲降低 50%,以及用戶參與度提升 30%。這些進(jìn)步使對(duì)話式 AI 能夠提供實(shí)時(shí)且真實(shí)的互動(dòng),使 Pantheon Lab 在數(shù)字人技術(shù)不斷革
    的頭像 發(fā)表于 01-14 11:19 ?508次閱讀

    電能管理系統(tǒng)-用戶端智能化用電管理安全、可靠

    云平臺(tái)簡介 18702107705 功能: 用戶端消耗著整個(gè)電網(wǎng)80%的電能,用戶端智能化用電管理對(duì)用戶可靠、安全、節(jié)約用電有十分重要的意義。構(gòu)建智能用電服務(wù)體系,全面推廣用戶端智能儀
    的頭像 發(fā)表于 01-07 11:04 ?531次閱讀
    電能管理系統(tǒng)-<b class='flag-5'>用戶端</b>智能化用電管理安全、可靠

    Triton編譯器如何提升編程效率

    在現(xiàn)代軟件開發(fā)中,編譯器扮演著至關(guān)重要的角色。它們不僅將高級(jí)語言代碼轉(zhuǎn)換為機(jī)器可執(zhí)行的代碼,還通過各種優(yōu)化技術(shù)提升程序的性能。Triton 編譯器作為一種先進(jìn)的編譯器,通過多種方式提升編程效率,使得
    的頭像 發(fā)表于 12-25 09:12 ?595次閱讀

    Triton編譯器的優(yōu)化技巧

    在現(xiàn)代計(jì)算環(huán)境中,編譯器的性能對(duì)于軟件的運(yùn)行效率至關(guān)重要。Triton 編譯器作為一個(gè)先進(jìn)的編譯器框架,提供了一系列的優(yōu)化技術(shù),以確保生成的代碼既高效又適應(yīng)不同的硬件架構(gòu)。 1. 指令選擇
    的頭像 發(fā)表于 12-25 09:09 ?640次閱讀

    Triton編譯器的優(yōu)勢與劣勢分析

    Triton編譯器作為一種新興的深度學(xué)習(xí)編譯器,具有一系列顯著的優(yōu)勢,同時(shí)也存在一些潛在的劣勢。以下是對(duì)Triton編譯器優(yōu)勢與劣勢的分析: 優(yōu)勢 高效性能優(yōu)化 : Triton編譯器
    的頭像 發(fā)表于 12-25 09:07 ?859次閱讀

    Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用

    1. Triton編譯器概述 Triton編譯器是NVIDIA Triton推理服務(wù)平臺(tái)的一部分,它負(fù)責(zé)將深度學(xué)習(xí)模型轉(zhuǎn)換為優(yōu)化的格式,以便在NVI
    的頭像 發(fā)表于 12-24 18:13 ?772次閱讀

    Triton編譯器的常見問題解決方案

    Triton編譯器作為一款專注于深度學(xué)習(xí)的高性能GPU編程工具,在使用過程中可能會(huì)遇到一些常見問題。以下是一些常見問題的解決方案: 一、安裝與依賴問題 檢查Python版本 Triton編譯器通常
    的頭像 發(fā)表于 12-24 18:04 ?2103次閱讀

    Triton編譯器安裝步驟詳解

    :用于構(gòu)建項(xiàng)目。 Python :用于運(yùn)行 Triton 的 Python 綁定。 其他依賴 :根據(jù)您選擇的架構(gòu),可能需要額外的依賴。 2. 安裝依賴 對(duì)于 Linux: 打開終端并運(yùn)行以下命令來安裝
    的頭像 發(fā)表于 12-24 17:35 ?1825次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對(duì)Triton語言和編譯器的訪問,使得用戶可以在Pyt
    的頭像 發(fā)表于 12-24 17:33 ?780次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個(gè)開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個(gè)可擴(kuò)展和可定制的編譯器框架,允許開發(fā)者添加新的編程語言特性和優(yōu)化技術(shù)
    的頭像 發(fā)表于 12-24 17:23 ?1316次閱讀

    智能電表用戶端口的折返限流應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《智能電表用戶端口的折返限流應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:43 ?0次下載
    智能電表<b class='flag-5'>用戶端</b>口的折返限流應(yīng)用說明

    NVIDIA JetPack 6.0版本的關(guān)鍵功能

    NVIDIA JetPack SDK 支持 NVIDIA Jetson 模塊,為構(gòu)建加速 AI 應(yīng)用提供全面的解決方案。JetPack 6
    的頭像 發(fā)表于 09-09 10:18 ?809次閱讀
    <b class='flag-5'>NVIDIA</b> JetPack 6.0版本的關(guān)鍵功能

    NVIDIA 通過 Holoscan 為 NVIDIA IGX 提供企業(yè)軟件支持

    美敦力、SETI 協(xié)會(huì)以及領(lǐng)先制造商正在構(gòu)建 NVIDIA IGX 系統(tǒng),為 AI 在工業(yè)邊緣賦能。 ? NVIDIA6月2日宣布,集成NVIDIA Holoscan的
    的頭像 發(fā)表于 06-04 10:21 ?704次閱讀

    NVIDIA 通過 Holoscan 為 NVIDIA IGX 提供企業(yè)軟件支持,實(shí)現(xiàn)邊緣實(shí)時(shí)醫(yī)療、工業(yè)和科學(xué) AI 應(yīng)用

    美敦力、SETI協(xié)會(huì)以及領(lǐng)先的制造商正在構(gòu)建? NVIDIA IGX 系統(tǒng), 為 ?AI 在工業(yè)邊緣賦能 ? ? COMPUTEX — 2024 年 6 月 2 日 — NVIDIA 今日宣布,集成
    發(fā)表于 06-03 09:48 ?426次閱讀
      <b class='flag-5'>NVIDIA</b> 通過 Holoscan 為 <b class='flag-5'>NVIDIA</b> IGX 提供企業(yè)<b class='flag-5'>軟件</b>支持,實(shí)現(xiàn)邊緣實(shí)時(shí)醫(yī)療、工業(yè)和科學(xué) AI 應(yīng)用

    研華與英偉達(dá)深化合作, 成為NVIDIA AI Enterprise軟件全球分銷商

    )的軟件平臺(tái)。近日發(fā)布的NVIDIA AI Enterprise 5.0將為用戶提供一系列微服務(wù),其中包括NVIDIA NIM。這是一套用于
    發(fā)表于 05-07 11:21 ?527次閱讀
    研華與英偉達(dá)深化合作, 成為<b class='flag-5'>NVIDIA</b> AI Enterprise<b class='flag-5'>軟件</b>全球分銷商

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品