TIS教程01-安装
簡介
TIS(Triton Inference Server)是NVIDIA推出的AI模型部署框架,前身為ensorRT Inference Server,它支持多種深度學習框架作為backend(如TensorFlow、PyTorch、TensorRT、ONNX等)甚至可以集成多個backend,如下圖所示,通過TIS部署的服務可以通過HTTP或者gRPC的方式請求。目前,PyTorch的模型部署其實還不是很完善,主流的部署框架其實就是TorchServe和Triton,相較于前者使用Java,我這邊還是比較喜歡Triton一些,所以這個系列的核心就是利用Triton部署PyTorch模型。
安裝
安裝Triton之前必須確保顯卡驅動正確安裝,且已經成功安裝docker和nvidia-docker,具體可以參考我之前的教程,因為后續的安裝都需要基于docker來進行(也推薦采用這種方式)。
接下來,需要登錄NVIDIA NGC以便于獲取鏡像的地址,不過這時并不能成功獲取鏡像,需要先獲得API Key才能獲取鏡像,注冊流程見下圖。
注冊后,使用下面的框中命令登錄docker,登錄成功后(會有Login Succeeded提示)。
接著,再訪問TIS鏡像地址獲取鏡像地址,并使用下圖框中的命令拉取最新的鏡像。當然,這個版本很新,對顯卡驅動要求較高,我所用的機器的顯卡驅動也才455版本,因此我這里使用舊版本,命令如下。
docker pull nvcr.io/nvidia/tritonserver:20.10-py3此時也可以通過將鏡像保存到本地以便使用,這是因為其實從nvidia官方下載這個鏡像其實挺慢的。相關的命令如下。
# 保存鏡像 docker save -o tritonserver-20.10-py3.tar nvcr.io/nvidia/tritonserver:20.10-py3# 加載鏡像 sudo docker load < tritonserver-21.07-py3.tar運行
在運行鏡像之前,我們按照官方的推薦建立一個模型倉庫,該倉庫中按照模型名存放著tensorrt engine文件,該文件夾有如下格式,具體如何設置配置文件后面的文章會提到(主要是模型配置文件和各個版本的模型文件,參考官方示例,這里的1指的就是版本1)。
model_repository/ └── inception_graphdef├── 1│ └── model.graphdef├── config.pbtxt└── inception_labels.txt然后,我們運行可使用GPU的鏡像并將模型倉庫映射到容器中的根目錄下的models文件夾中,命令如下,其中的命令均為docker常用命令(設置是使用本機第3號GPU卡),這里不多做贅述,可以查看我的Docker教程。
docker run --gpus '"device=3"' --rm -p8000:8000 -p8001:8001 -p8002:8002 -v/home/zhouchen/model_repository:/models nvcr.io/nvidia/tritonserver:20.10-py3 tritonserver --model-repository=/models此時出現下圖所示的狀態,沒有報ERROR代表服務開啟成功。
由于這時候后端還沒有寫具體的接口,這里調用默認接口測試一下,使用命令curl -v localhost:8000/v2/health/ready,有如下的反饋代表后端部署成功,可以正常訪問。
* Trying 127.0.0.1... * TCP_NODELAY set * Connected to localhost (127.0.0.1) port 8000 (#0) > GET /v2/health/ready HTTP/1.1 > Host: localhost:8000 > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 0 < Content-Type: text/plain < * Connection #0 to host localhost left intact至此,初步TIS的部署就初步完成了。
總結
本文主要介紹了Triton Inference Server的安裝教程,具體可以查看官方文檔。
總結
以上是生活随笔為你收集整理的TIS教程01-安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1961-Check If String
- 下一篇: TIS教程02-模型