当前位置: 首页 > article >正文

Triton推理服务器部署YOLOv8(onnxruntime后端和TensorRT后端)

文章目录

    • 一、Trition推理服务器基础知识
      • 1)推理服务器设计概述
      • 2)Trition推理服务器quickstart
        • (1)创建模型仓库(Create a model Repository)
        • (2)启动Triton (launching triton)并验证是否正常运行
        • (3)发送推理请求(send a inference request)
      • 3)Trition推理服务器架构
      • 4)Trition推理服务器模型配置(最小、最大模型配置,最大批处理次数,模型维度形状,数据类型)
    • 二、YOLOv8安装
      • 1)安装网络环境
      • 2)安装pytorch
      • 3)安装和克隆YOLOv8
    • 三、TensorRT补充
      • 1)简介
      • 2)TRT引擎构建
      • 3)TRT API基本用法
      • 4)plugin加速推理
    • 四、onnx补充
      • 1)onnx概述+模型网络结构+数据结构
      • 2)onnx模型搭建+dump信息+推理
      • 3)onnx_graphsurgeon
      • 4)onnx_Simplifier
    • 五、Trion推理服务器部署(onnxruntime后端)
      • 1)安装docker和NVIDIA Container toolkit
        • (1)安装docker
        • (2)安装NVIDIA Container toolkit
      • 2)导出onnx模型
      • 3)组织模型仓库布局文件
      • 4)构建Triton推理docker容器
      • 5)运行和测试Triton服务器
    • 六、Trion推理服务器部署(TensorRT后端)
      • 1)构建TensorRT引擎
      • 2)组织模型仓库布局(ensemble是先用trt推理后,再用后处理图片)
      • 3)构建Triton推理的docker容器
      • 4)运行和测试Triton服务器
      • 5)前处理说明(yolov8的前处理是放在前端main.py)

一、Trition推理服务器基础知识

1)推理服务器设计概述

在这里插入图片描述

  • 设计思想和特点
    1、支持多种机器学习框架
    在这里插入图片描述
    2、支持多种部署场景

在这里插入图片描述
3、高性能推理
在这里插入图片描述
4、灵活的模型管理
在这里插入图片描述
5、可扩展性
在这里插入图片描述
6、强大的客户端支持
在这里插入图片描述

2)Trition推理服务器quickstart

(1)创建模型仓库(Create a model Repository)

在这里插入图片描述

(2)启动Triton (launching triton)并验证是否正常运行

cpu运行

$ docker run --rm -p8000:8000 -p8001:8001 -p8002:8002 -v/full/path/to/docs/examples/model_repository:/models nvcr.io/nvidia/tritonserver:<xx.yy>-py3 tritonserver --model-repository=/models

在这里插入图片描述
GPU运行
在这里插入图片描述
命令

$ docker run --gpus=1 --rm -p8000:8000 -p8001:8001 -p8002:8002 -v/full/path/to/docs/examples/model_repository:/models nvcr.io/nvidia/tritonserver:<xx.yy>-py3 tritonserver --model-repository=/models

输出

+----------------------+---------+--------+
| Model                | Version | Status |
+----------------------+---------+--------+
| <model_name>         | <v>     | READY  |
| ..                   | .       | ..     |
| ..                   | .       | ..     |
+----------------------+---------+--------+
...
...
...
I1002 21:58:57.891440 62 grpc_server.cc:3914] Started GRPCInferenceService at 0.0.0.0:8001
I1002 21:58:57.893177 62 http_server.cc:2717] Started HTTPService at 0.0.0.0:8000
I1002 21:58:57.935518 62 http_server.cc:2736] Started Metrics Service at 0.0.0.0:8002

在这里插入图片描述

  • 验证是否正常运行
    在这里插入图片描述
$ curl -v localhost:8000/v2/health/ready
...
< HTTP/1.1 200 OK
< Content-Length: 0
< Content-Type: text/plain
(3)发送推理请求(send a inference request)

①从NGC拉去客户端库和示例
Use docker pull to get the client libraries and examples image from NGC.

$ docker pull nvcr.io/nvidia/tritonserver:<xx.yy>-py3-sdk

②拉取特定版本镜像的客户端
Where <xx.yy> is the version that you want to pull. Run the client image.

$ docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:<xx.yy>-py3-sdk

③开始请求模型获取前三个分类
在这里插入图片描述

$ /workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg
Request 0, batch size 1
Image '/workspace/images/mug.jpg':15.346230 (504) = COFFEE MUG13.224326 (968) = CUP10.422965 (
http://www.lryc.cn/news/2398362.html

相关文章:

  • TDengine 的 AI 应用实战——电力需求预测
  • NLP学习路线图(二十一): 词向量可视化与分析
  • 【分布式技术】KeepAlived高可用架构科普
  • 如何配置mvn镜像源为华为云
  • Linux平台排查CPU占用高的进程和线程指南
  • 多模态大语言模型arxiv论文略读(105)
  • 简述MySQL 超大分页怎么处理 ?
  • Pyhton中的命名空间包(Namespace Package)您了解吗?
  • Java设计模式之备忘录模式详解
  • Azure DevOps Server 2022.2 补丁(Patch 5)
  • 手摸手还原vue3中reactive的get陷阱以及receiver的作用
  • 小明的Java面试奇遇之互联网保险系统架构与性能优化
  • C++学习-入门到精通【13】标准库的容器和迭代器
  • C# 面向对象特性
  • ElasticStack技术之logstash介绍
  • 前端与后端
  • CI/CD 持续集成、持续交付、持续部署
  • 代码随想录60期day54
  • 关于easyx头文件
  • Java 中执行命令并使用指定配置文件的最佳实践
  • django入门-orm数据库操作
  • ​​食品电商突围战!品融电商全平台代运营,助您抢占天猫京东抖音红利!
  • Termux下如何使用MATLAB
  • STM32外部中断(EXTI)以及旋转编码器的简介
  • 双擎驱动:华为云数字人与DeepSeek大模型的智能交互升级方案
  • Unity Version Control UVC报错:Not connected. Trying to re-connect…
  • 场景题-1
  • Java复习Day26
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.5 R语言解题
  • 阿里云百炼全解析:一站式大模型开发平台的架构与行业实践