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
相关推荐
期待のcode30 分钟前
原子操作类LongAdder
java·开发语言
舟舟亢亢1 小时前
Java集合笔记总结
java·笔记
小酒窝.1 小时前
【多线程】多线程打印ABC
java
lly2024062 小时前
C 语言中的结构体
开发语言
乡野码圣2 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言2 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机3 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
青岑CTF3 小时前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
Li emily3 小时前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
小酒窝.3 小时前
【多线程】多线程打印1~100
java·多线程