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
相关推荐
benbenAItalk5 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl5 小时前
Java学习二 基本语法2, 算术运算符
java·学习
2601_966949655 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin5 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
2601_962885725 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户5 小时前
Java锁
java·开发语言
多加点辣也没关系6 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
菜鸟~noob2336 小时前
【电子战】 第09篇:阵列信号处理——波束形成、MVDR、MUSIC【含matlab代码】
开发语言·matlab·信号处理
ocean21036 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
零依赖极客6 小时前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm