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

Triton测试

Trtion可以部署在cloud端,通过GRPC调用,也可以部署在边缘端,通过CAPI调用。

1 启动docker

 这个以deepstream的triton镜像为例。

$ docker run --gpus all -itd --ipc=host --rm -v /tmp/.X11-unix:/tmp/.X11-unix  -v $HOME:/home   -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream nvcr.io/nvidia/deepstream:6.1.1-triton

2 GRPC方式

2.1 启动tritonserver

下载server的代码到本地,git clone https://github.com/triton-inference-server/server.git

到docs目录下,下载模型,启动tritonserver.

$ cd /home/code/triton/server/docs/examples

$ ./fetch_models.sh

$ tritonserver --model-repository=model_repository

2.2 测试demo

从Releases · triton-inference-server/server · GitHub下载client sdk ,如: v2.25.0_ubuntu2004.clients.tar.gz,解压到本地,执行测试,

$ ../bin/image_client -m inception_graphdef -s INCEPTION -c 3 -b 2 qa/images/mug.jpg

返回结果如下:

Request 0, batch size 2
Image 'qa/images/mug.jpg':
    0.754047 (505) = COFFEE MUG
    0.157065 (969) = CUP
    0.002878 (968) = ESPRESSO
Image 'qa/images/mug.jpg':
    0.754047 (505) = COFFEE MUG
    0.157065 (969) = CUP
    0.002878 (968) = ESPRESSO

3 CAPI方式

3.1 编译simple

server目录的simple没有提供Makefile,按这个Makefile进行编译,缺少的东西需要添加。

cat Makefile
TARGET=simple
GCC=g++
GCC_PARMS+= -I./rdjson   -I /usr/local/cuda-$(CUDA_VER)/include
GCC_PARMS+=-I/opt/tritonserver/include -D TRITON_ENABLE_GPU=ON -D TRITON_MIN_COMPUTE_CAPABILITY=5.3

GCC_LIBS=  -L/usr/local/cuda-$(CUDA_VER)/lib64/ -L/opt/tritonserver/lib/
GCC_LIBS+=-lpthread -ltritonserver  -lcudart

all: $(TARGET)


%.o: %.cc
        $(GCC) $(GCC_PARMS) -c -g -o $@ $^

$(TARGET): $(TARGET).o
        $(GCC) $^ $(GCC_LIBS) -o $@

clean:
        rm -f $(TARGET).o $(TARGET)

.PHONY: all clean

3.2 测试simple

编译成功后,传入模型路径给simple, 如: ./simple -r ../../docs/examples/model_repository/,部分结果打印如下:

OUTPUT0 is stored in system memory
OUTPUT1 is stored in system memory
0 + 1 = 1
0 - 1 = -1
1 + 1 = 2
1 - 1 = 0
2 + 1 = 3
2 - 1 = 1
3 + 1 = 4
3 - 1 = 2
4 + 1 = 5
4 - 1 = 3
5 + 1 = 6
5 - 1 = 4
6 + 1 = 7
6 - 1 = 5
7 + 1 = 8
7 - 1 = 6
8 + 1 = 9
8 - 1 = 7
9 + 1 = 10
9 - 1 = 8
10 + 1 = 11
10 - 1 = 9
11 + 1 = 12
11 - 1 = 10
12 + 1 = 13
12 - 1 = 11
13 + 1 = 14
13 - 1 = 12
14 + 1 = 15
14 - 1 = 13
15 + 1 = 16
15 - 1 = 14
 

相关文章:

  • 监控文件事件
  • 【Node.js】官网学习笔记
  • 番茄ToDo语句精选
  • 树状数组。 数组修改某个元素的数值/求出前n个元素的和,需要在一百毫秒处理上百万个数字
  • 【操作系统】第一章 计算机系统概述
  • 【Vue】Vue的Mustache插值语法、v-bind指令
  • Android7.1.1系统,Toast的Exception: android.view.WindowManager$BadTokenException解决
  • TiKV 监控指标详解
  • 嵌入式系统开发笔记92:感受开源之美
  • VLC 编译安装 [for android, linux, windows]
  • 字节内部私藏的数据结构与算法刷题笔记,太顶了熬夜刷上头
  • 前端性能优化方法与实战开篇词 开启刻意练习之路,进阶前端性能技术专家
  • 实战java高并发程序设计(第2版)学习(1-3)
  • TiCDC 重要监控指标详解
  • T1063 最大跨度值(信息学一本通C++)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 2017 年终总结 —— 在路上
  • Android系统模拟器绘制实现概述
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • jdbc就是这么简单
  • LeetCode29.两数相除 JavaScript
  • Linux Process Manage
  • React+TypeScript入门
  • react-native 安卓真机环境搭建
  • Redash本地开发环境搭建
  • uni-app项目数字滚动
  • vue中实现单选
  • 阿里云购买磁盘后挂载
  • 成为一名优秀的Developer的书单
  • 大主子表关联的性能优化方法
  • 跨域
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 微信小程序:实现悬浮返回和分享按钮
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ‌[AI问答] Auto-sklearn‌ 与 scikit-learn 区别
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (2)(2.10) LTM telemetry
  • (libusb) usb口自动刷新
  • (附源码)springboot教学评价 毕业设计 641310
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)【Hibernate总结系列】使用举例
  • .NET 8.0 中有哪些新的变化?
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net 调用海康SDK以及常见的坑解释
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .Net中的集合
  • .sdf和.msp文件读取
  • @Import注解详解
  • @Transactional类内部访问失效原因详解
  • [202209]mysql8.0 双主集群搭建 亲测可用