wespeaker项目grpc-java客户端开发

非常重要的原始参考资料:

链接: triton-inference-server/client github/grpc java

ps:

使用grpc协议的其它项目python/go可以参考git hub目录client/tree/main/src/grpc_generated下的其它项目

其它链接:

  1. 想要系统了解triton-inference-server可以查看主页
  2. 想要了解server可以查看server
  3. 想要了解clinet可以查看client

生成java项目依赖

(一)克隆Triton Inference Server Common到本地

git clone https://github.com/triton-inference-server/common/ -b r22.03 common-repo

注意:下载合适的分支

(二)克隆Triton Client到本地

git clone https://github.com/triton-inference-server/client.git

(三)使用IDEA打开client

client所在的路径/client/src/grpc_generated/java/library

(四)设置IDEA的maven和setting

settings-》Build,execution,Deployment->build Tools-->Maven设置maven home path和setting file

注意:setting file需要配置依赖项从哪里下载

(五)中common-repo/protobuf/*.proto拷贝到library下src/main/proto/位置

运行mvn compile

这一步主要是编译proto

(六)生成文件

上述文件就是新java工程的依赖项

开发java客户端

(一)启动triton-inference-server提供的模型服务

bash 复制代码
# Step 1: Create the example model repository
git clone -b r24.01 https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh

# Step 2: Launch triton from the NGC Triton container
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:24.01-py3 tritonserver --model-repository=/models
去掉 --gpus=1 为cpu版本

(二)启动triton-inference-server提供的java客户端测试

首先需要拷贝第一步的依赖

bash 复制代码
$ cp -R library/target/generated-sources/protobuf/java/inference  examples/src/main/java/inference
$ cp -R library/target/generated-sources/protobuf/grpc-java/inference/*.java  examples/src/main/java/inference/

使用IDEA打开路径:/client/src/grpc_generated/java/examples

bash 复制代码
$ cd examples
$ mvn clean install 
$ mvn exec:java -Dexec.mainClass=clients.SimpleJavaClient -Dexec.args="<host> <port>"

成功的话,会出现

bash 复制代码
name: "OUTPUT0"
datatype: "INT32"
shape: 1
shape: 16

name: "OUTPUT1"
datatype: "INT32"
shape: 1
shape: 16

(三)自行修改构建成自己的java客户端

参考上述examples,修改为自己工程需要的;另外也要启动自己的server,启动自己server的方法参考
wespeake工程指导

用jar包运行

(一)打包jar包(IDEA)

File -- 》Projection structure--》Artifacts --> ➕--〉JAR--》From module...-->Main Class(com.bj58.ailab.wpai.userdefined.你的javaClient)-->OK-->OK

点击build--》build Artifacts---〉你刚才的jar--》build

即可在生成目录看到生成的jar包

(二)jar包运行

bash 复制代码
nohup java -jar 你的jar包名.jar 你的参数 > 你的.log
相关推荐
better_liang1 小时前
每日Java面试场景题知识点之-分布式事务处理
java·微服务·面试·springcloud·分布式事务
执笔论英雄2 小时前
Slime异步原理(单例设计模式)4
开发语言·python·设计模式
L***d6703 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
e***74953 小时前
Modbus报文详解
服务器·开发语言·php
凌波粒3 小时前
Springboot基础教程(3)--自动装配原理/静态资源处理/欢迎页
java·spring boot·后端
lly2024063 小时前
ASP 发送电子邮件详解
开发语言
小徐敲java3 小时前
python使用s7协议与plc进行数据通讯(HslCommunication模拟)
开发语言·python
likuolei3 小时前
XSL-FO 软件
java·开发语言·前端·数据库
凌波粒3 小时前
SpringBoot基础教程(2)--yaml/配置文件注入/数据校验/多环境配置
java·spring boot·后端·spring
6***37943 小时前
PHP在电商中的BigCommerce
开发语言·php