searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Triton部署

2023-09-20 02:42:47
23
0

官方参考

github上triton-inference-server的tutorials和quickstart.md

意义

任何深度学习推理服务解决方案都需要解决两个基本挑战:管理多个模型。版本控制、加载和卸载模型。

triton serving能够实现不同模型的统一部署和服务,提供http和grpc协议,给triton client请求模型推理。

模型统一部署在triton server,然后其他业务通过triton client来进行模型推理的请求。

tritonserver对cuda驱动最低版本要求

docs.nvidia.com/deeplearning/triton-inference-server/release-notes/

和TensorRT版本的对应要求

docs.nvidia.com/deeplearning/tensorrt/container-release-notes/

获取tritonserver镜像

# 在本地下载
docker pull nvcr.io/nvidia/tritonserver:23.05-py3
docker tag nvcr.io/nvidia/tritonserver:23.05-py3 user_name/tritonserver:23.05-py3
docker login -u user_name
docker push user_name/tritonserver:23.05-py3
# 在服务器上pull
docker login -u user_name
docker pull user_name/tritonserver:23.05-py3
# or
# 保存到本地
docker save -o tritonserver.tar image_id
docker load -i tritonserver.tar
# 上传到服务器上
scp -o ProxyCommand='ssh -p port -W %h:%p root@jump_ip' tritonserver.tar.gz root@target_ip:target_dir
  • 安装docker并启动

# 安装docker
yum install docker
# 启动docker
systemctl start docker.service
# 设置docker开机启动
systemctl enable docker
# 停止docker 
systemctl stop docker

使用triton推理服务器部署模型

  • 下载example模型仓库/建立一个模型仓库(包含将要服务的模型和模型配置)
git clone -b r23.05 github.com/triton-inference-server/server.git
cd docs/examples/ && ./fetch_models.sh
tree model_repository
  • 创建了存储库并配置了模型后,启动服务器。(从NGC Triton container 中拉取最新的镜像并启动,虽然Triton推理服务器可以从源代码构建,但强烈建议使用NGC免费提供的预制Docker容器)
docker run -it --gpus=1 --rm --net=host -v target_path/server/docs/examples/model_repository:/models tritonserver:23.05-py3 
# 也可以使用cp命令用于容器与宿主机间的数据拷贝
# docker cp ../model_repository/ container_id:/models
# tritonserver --model-repository=/models/model_repository
# 启动
tritonserver --model-repository=/models

 

验证triton运行

curl -v localhost:8000/v2/health/ready
  • Python 版用户端**-NVIDIA 为 Triton 提供可直接安装的 Python 库
    • 下载conda

wget repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装Miniconda3
bash Miniconda3-latest-Linux-x86_64.sh
# 配置conda环境变量
vim /etc/profile
# 添加环境变量
export ANACONDA_PATH=~/miniconda3
export PATH=$PATH:$ANACONDA_PATH/bin
# 使环境变量生效
source /etc/profile
# 查看是否安装成功
conda --version
conda info -e
python
# 查看虚拟环境
conda env list
    • 安装依赖,执行请求

# 安装依赖
pip3 install tritonclient[all] attrdict -i pypi.tuna.tsinghua.edu.cn/simple
# 复制 Triton 项目的 client 开源仓
git clone github.com/triton-inference-server/client.git
# 在 client 开源仓下的 src/python/examples 里有 30 多个 Triton 的 Python 用户端脚本
# 进到 Python 用户端脚本的目录里,执行以下指令
pip3 install pillow -i pypi.tuna.tsinghua.edu.cn/simple
python3 image_client.py -m inception_graphdef -s INCEPTION target_path/server/qa/images/mug.jpg

在这里对 Triton 服务器提出的推理请求

python3 image_client.py -m densenet_onnx -c 3 -s INCEPTION target_path/server/qa/images/mug.jpg
0条评论
0 / 1000
l****n
28文章数
5粉丝数
l****n
28 文章 | 5 粉丝
原创

Triton部署

2023-09-20 02:42:47
23
0

官方参考

github上triton-inference-server的tutorials和quickstart.md

意义

任何深度学习推理服务解决方案都需要解决两个基本挑战:管理多个模型。版本控制、加载和卸载模型。

triton serving能够实现不同模型的统一部署和服务,提供http和grpc协议,给triton client请求模型推理。

模型统一部署在triton server,然后其他业务通过triton client来进行模型推理的请求。

tritonserver对cuda驱动最低版本要求

docs.nvidia.com/deeplearning/triton-inference-server/release-notes/

和TensorRT版本的对应要求

docs.nvidia.com/deeplearning/tensorrt/container-release-notes/

获取tritonserver镜像

# 在本地下载
docker pull nvcr.io/nvidia/tritonserver:23.05-py3
docker tag nvcr.io/nvidia/tritonserver:23.05-py3 user_name/tritonserver:23.05-py3
docker login -u user_name
docker push user_name/tritonserver:23.05-py3
# 在服务器上pull
docker login -u user_name
docker pull user_name/tritonserver:23.05-py3
# or
# 保存到本地
docker save -o tritonserver.tar image_id
docker load -i tritonserver.tar
# 上传到服务器上
scp -o ProxyCommand='ssh -p port -W %h:%p root@jump_ip' tritonserver.tar.gz root@target_ip:target_dir
  • 安装docker并启动

# 安装docker
yum install docker
# 启动docker
systemctl start docker.service
# 设置docker开机启动
systemctl enable docker
# 停止docker 
systemctl stop docker

使用triton推理服务器部署模型

  • 下载example模型仓库/建立一个模型仓库(包含将要服务的模型和模型配置)
git clone -b r23.05 github.com/triton-inference-server/server.git
cd docs/examples/ && ./fetch_models.sh
tree model_repository
  • 创建了存储库并配置了模型后,启动服务器。(从NGC Triton container 中拉取最新的镜像并启动,虽然Triton推理服务器可以从源代码构建,但强烈建议使用NGC免费提供的预制Docker容器)
docker run -it --gpus=1 --rm --net=host -v target_path/server/docs/examples/model_repository:/models tritonserver:23.05-py3 
# 也可以使用cp命令用于容器与宿主机间的数据拷贝
# docker cp ../model_repository/ container_id:/models
# tritonserver --model-repository=/models/model_repository
# 启动
tritonserver --model-repository=/models

 

验证triton运行

curl -v localhost:8000/v2/health/ready
  • Python 版用户端**-NVIDIA 为 Triton 提供可直接安装的 Python 库
    • 下载conda

wget repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装Miniconda3
bash Miniconda3-latest-Linux-x86_64.sh
# 配置conda环境变量
vim /etc/profile
# 添加环境变量
export ANACONDA_PATH=~/miniconda3
export PATH=$PATH:$ANACONDA_PATH/bin
# 使环境变量生效
source /etc/profile
# 查看是否安装成功
conda --version
conda info -e
python
# 查看虚拟环境
conda env list
    • 安装依赖,执行请求

# 安装依赖
pip3 install tritonclient[all] attrdict -i pypi.tuna.tsinghua.edu.cn/simple
# 复制 Triton 项目的 client 开源仓
git clone github.com/triton-inference-server/client.git
# 在 client 开源仓下的 src/python/examples 里有 30 多个 Triton 的 Python 用户端脚本
# 进到 Python 用户端脚本的目录里,执行以下指令
pip3 install pillow -i pypi.tuna.tsinghua.edu.cn/simple
python3 image_client.py -m inception_graphdef -s INCEPTION target_path/server/qa/images/mug.jpg

在这里对 Triton 服务器提出的推理请求

python3 image_client.py -m densenet_onnx -c 3 -s INCEPTION target_path/server/qa/images/mug.jpg
文章来自个人专栏
AI-llama大模型,go语言开发
28 文章 | 2 订阅
0条评论
0 / 1000
请输入你的评论
0
0