Example Java and Scala client Using Generated GRPC API#
Prerequsites#
Maven 3.3+ and JDK 1.8+
Generating java GRPC client stub#
Clone the triton-inference-server/common repository:
git clone https://github.com/triton-inference-server/common/ -b <common-repo-branch> common-repo
<common-repo-branch> should be the version of the Triton server that you intend to use (e.g. r21.05).
Copy *.proto files to Library src/main/proto
$ cd library
$ cp ../common-repo/protobuf/*.proto src/main/proto/
After copying the protobuf files, the library dir should look as below.
$ mvn compile
Once compiled, one should notice the generated *.java files under target folder
Use the generated files in any project#
To run the examples clients, copy the above generated stub into examples folder
$ cd ..
$ 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/
See the examples project which has scala and java sample client.
Running java example client#
$ cd examples
$ mvn clean install
$ mvn exec:java -Dexec.mainClass=clients.SimpleJavaClient -Dexec.args="<host> <port>"
host where triton inference server is running
port default grpc port is 8001
Running scala example client#
$ mvn exec:java -Dexec.mainClass=clients.SimpleClient -Dexec.args="<host> <port>"
Both the examples run inference with respect to simple model. The scala example is more comprehensive and checks APIs like server ready and model ready
Output of the scala client once run succesfully#
name: "OUTPUT0"
datatype: "INT32"
shape: 1
shape: 16
name: "OUTPUT1"
datatype: "INT32"
shape: 1
shape: 16
1 + 1 = 2
1 - 1 = 0
2 + 2 = 4
2 - 2 = 0
3 + 3 = 6
3 - 3 = 0
4 + 4 = 8
4 - 4 = 0
5 + 5 = 10
5 - 5 = 0
6 + 6 = 12
6 - 6 = 0
7 + 7 = 14
7 - 7 = 0
8 + 8 = 16
8 - 8 = 0
9 + 9 = 18
9 - 9 = 0
10 + 10 = 20
10 - 10 = 0
11 + 11 = 22
11 - 11 = 0
12 + 12 = 24
12 - 12 = 0
13 + 13 = 26
13 - 13 = 0
14 + 14 = 28
14 - 14 = 0
15 + 15 = 30
15 - 15 = 0
16 + 16 = 32
16 - 16 = 0