• Hardware (RTX3050 and T4)
• Network Type (Classification)
I have trained a resnet 18 model. The model is working fine in etlt format with deepstream. Below is the config file for deepstream:
[property]
gpu-id=0
# preprocessing parameters: These are the same for all classification models generated by TLT.
net-scale-factor=1.0
model-color-format=1
batch-size=8
# Model specific paths. These need to be updated for every classification model.
model-engine-file=catdog_v3.0_resnet18_acc95_fp32.etlt_b8_gpu0_fp32.engine
tlt-encoded-model=catdog_v3.0_resnet18_acc95_fp32.etlt
tlt-model-key=model_key
labelfile-path=labels_CatDog.txt
input-dims=3;224;224;0
uff-input-blob-name=input_1
#output node name for classification
output-blob-names=predictions/Softmax
## 0=FP32, 1=INT8, 2=FP16 mode
network-mode=2
process-mode=2
interval=2
# defines that the model is a classifier.
network-type=1
gie-unique-id=1
classifier-threshold=0.6
classifier-async-mode=1
When I converted the model from etlt to model.plan via tao-converter to deploy on triton. The model output is wrong. Below is the sample run script:
from itertools import tee
from tritonclient.utils import *
import tritonclient.http as httpclient
import sys
import numpy as np
import cv2
model_name = "CatDog"
shape = [1,3,224,224]
path = "CuteCat.jpg"
with httpclient.InferenceServerClient("localhost:8000") as client:
input_file = cv2.imread(path)
input_file = cv2.resize(input_file, (224,224))
input_file = input_file.astype(np.float32)
# input_file/=255 # I have tried normalizing also.
input0_data = np.reshape(input_file, shape)
inputs = [
httpclient.InferInput("input_1", input0_data.shape,
np_to_triton_dtype(input0_data.dtype)),
]
inputs[0].set_data_from_numpy(input0_data)
outputs = [
httpclient.InferRequestedOutput("predictions/Softmax"),
]
response = client.infer(model_name,
inputs,
request_id=str(1),
outputs=outputs)
result = response.get_response()
output0_data = response.as_numpy("predictions/Softmax")
print("output0_data : {}".format(output0_data))
print('PASS: CatDog')
sys.exit(0)
And this is the model config in triton:
name: "CatDog"
platform: "tensorrt_plan"
max_batch_size: 16
input [
{
name: "input_1"
data_type: TYPE_FP32
format: FORMAT_NCHW
dims: [ 3, 224, 224 ]
}
]
output [
{
name: "predictions/Softmax"
data_type: TYPE_FP32
dims: [ 2, 1, 1 ]
}
]
Please, verify if above script is correct…
And please let me know what could be wrong with the models?