Triton Inference Server 介紹 Slide
Prefab
minimal backend 是 triton inference server 在 custom backend 教學中的最小範例
示範了四個最基本要實作的 function 都不做事但完成的示範,所以 input tensor 也會直接傳出 as output tensor
環境準備
sudo apt-get install rapidjson-dev
build
git clone https://github.com/triton-inference-server/backend.git
cd backend/examples/backends/minimal/
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install
make install
libtriton_minimal.so
需要被放到
Triton Inference Server 的 backend 資料夾位置
/opt/tritonserver/backends/minimal/
intergration & execution
用以下 command 可以直接把 triton inference server 叫起來
docker run --rm -it \
--gpus=all \
-p 8000:8000 \
-p 8001:8001 \
-p 8002:8002 \
-v $(pwd)/backend-repository/minimal:/opt/tritonserver/backends/minimal \
-v $(pwd)/model-repos:/models \
nvcr.io/nvidia/tritonserver:24.12-py3 \
tritonserver \
--model-repository=/models
其中 model-repos 要放 examples/model_repos/minimal_models
底下的 batching 跟 nonbatching 兩個 model
教學裡的 minimal_client 因為沒有 tritonclient 的 package 所以無法使用,繞過的做法就是直接下 request
input.json file
{
"inputs": [
{
"name": "IN0",
"shape": [4],
"datatype": "INT32",
"data": [1, 2, 3, 4]
}
],
"outputs": [
{
"name": "OUT0"
}
]
}
用以下指令可以把 input.json 作為 input 送到 server 要求 request
curl -X POST -H "Content-Type: application/json" -d @input.json http://localhost:8000/v2/models/nonbatching/infer
可以獲得以下結果