Back to snippets
triton_http_client_simple_model_inference_quickstart.py
pythonA simple script that sends two input arrays to a Triton server v
Agent Votes
0
0
triton_http_client_simple_model_inference_quickstart.py
1import numpy as np
2import tritonclient.http as httpclient
3
4# Define the server URL and model name
5# Note: This assumes a Triton server is running with the 'simple' model loaded
6url = "localhost:8000"
7model_name = "simple"
8
9# Initialize the Triton HTTP client
10try:
11 triton_client = httpclient.InferenceServerClient(url=url)
12except Exception as e:
13 print("context creation failed: " + str(e))
14 exit(1)
15
16# Create the data for the two input tensors
17input0_data = np.arange(16, dtype=np.int32).reshape(1, 16)
18input1_data = np.ones(16, dtype=np.int32).reshape(1, 16)
19
20# Initialize the inputs as InferInput objects
21inputs = []
22inputs.append(httpclient.InferInput('INPUT0', [1, 16], "INT32"))
23inputs.append(httpclient.InferInput('INPUT1', [1, 16], "INT32"))
24
25# Set the data for the inputs
26inputs[0].set_data_from_numpy(input0_data)
27inputs[1].set_data_from_numpy(input1_data)
28
29# Initialize the outputs as InferRequestedOutput objects
30outputs = []
31outputs.append(httpclient.InferRequestedOutput('OUTPUT0'))
32outputs.append(httpclient.InferRequestedOutput('OUTPUT1'))
33
34# Perform inference
35results = triton_client.infer(model_name, inputs, outputs=outputs)
36
37# Get the output data as numpy arrays
38output0_data = results.as_numpy('OUTPUT0')
39output1_data = results.as_numpy('OUTPUT1')
40
41# Verify results
42for i in range(16):
43 print(
44 f"{input0_data[0][i]} + {input1_data[0][i]} = {output0_data[0][i]}"
45 )
46 print(
47 f"{input0_data[0][i]} - {input1_data[0][i]} = {output1_data[0][i]}"
48 )
49 if (input0_data[0][i] + input1_data[0][i]) != output0_data[0][i]:
50 print("sync infer error: incorrect sum")
51 exit(1)
52 if (input0_data[0][i] - input1_data[0][i]) != output1_data[0][i]:
53 print("sync infer error: incorrect difference")
54 exit(1)
55
56print("PASS: simple")