triton-inference-server / server

The Triton Inference Server provides an optimized cloud and edge inferencing solution.
https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/index.html
BSD 3-Clause "New" or "Revised" License
7.73k stars 1.42k forks source link

UNAVAILABLE: Invalid argument: model 'keypoints_pose_0', tensor 'input.1': the model expects 4 dimensions (shape [1,3,224,224]) but the model configuration specifies 4 dimensions (shape [1,3,224,244]) #4194

Closed sperezs95 closed 2 years ago

sperezs95 commented 2 years ago

Description I'm trying to serve the NVIDIA human pose estimation model described here: https://github.com/NVIDIA-AI-IOT/trt_pose, specifically I'm using the ONNX conversion of the model shown in this other link: https:/ /github.com/NVIDIA-AI-IOT/deepstream_pose_estimation

I have downloaded the "pose_estimation.onnx" file, placed it in my newt models directory and wrote the following config file:

platform: "onnxruntime_onnx" max_batch_size : 0 input [ { name: "input.1" data_type: TYPE_FP32 dims: [ 1, 3, 224, 244 ] } ]

output [ { name: "heatmap" data_type: TYPE_FP32 dims: [ 1, 18, 56, 56 ] }, { name: "part_affinity_fields" data_type: TYPE_FP32 dims: [ 1, 42, 56, 56 ] } ]

instance_group { count: 1 gpus: 0 kind: KIND_GPU }

My directory looks like this:

image

When starting tritonserver the following error message is thrown:

image

Triton Information I'm running triton inside the container "nvcr.io/nvidia/deepstream-l4t:6.0-triton" in conjunction with the triton file for jetpack 4.6:

image image

To Reproduce I simply unzipped the supplied file inside the container and run:

TRITON_SERVER_DIR=/triton-server export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TRITON_SERVER_DIR/lib export PATH=$PATH:$TRITON_SERVER_DIR/bin tritonserver --model-repository=/models --backend-directory=/triton-server/backends

These are the characteristics of my jetson nano:

image

Expected behavior I would like to know why this conflict exists with the tensor input form and what I can do to solve it. Thank you very much and I look forward to any help you can give me...

tanmayv25 commented 2 years ago

The error message is self-explanatory. Your model expects input.1 with shape [1, 3, 224, 224 ] but your mode config describes the shape for the tensor as: [1, 3, 224, 244]

what I can do to solve it. You can use the following config:

platform: "onnxruntime_onnx"
max_batch_size : 0
input [
{
name: "input.1"
data_type: TYPE_FP32
dims: [ 1, 3, 224, 224 ]
}
]

output [
{
name: "heatmap"
data_type: TYPE_FP32
dims: [ 1, 18, 56, 56 ]
},
{
name: "part_affinity_fields"
data_type: TYPE_FP32
dims: [ 1, 42, 56, 56 ]
}
]

instance_group {
count: 1
gpus: 0
kind: KIND_GPU
}

You can also use auto-complete config feature described here: https://github.com/triton-inference-server/server/blob/main/docs/model_configuration.md#auto-generated-model-configuration

sperezs95 commented 2 years ago

The error message is self-explanatory. Your model expects input.1 with shape [1, 3, 224, 224 ] but your mode config describes the shape for the tensor as: [1, 3, 224, 244]

what I can do to solve it. You can use the following config:

platform: "onnxruntime_onnx"
max_batch_size : 0
input [
{
name: "input.1"
data_type: TYPE_FP32
dims: [ 1, 3, 224, 224 ]
}
]

output [
{
name: "heatmap"
data_type: TYPE_FP32
dims: [ 1, 18, 56, 56 ]
},
{
name: "part_affinity_fields"
data_type: TYPE_FP32
dims: [ 1, 42, 56, 56 ]
}
]

instance_group {
count: 1
gpus: 0
kind: KIND_GPU
}

You can also use auto-complete config feature described here: https://github.com/triton-inference-server/server/blob/main/docs/model_configuration.md#auto-generated-model-configuration

Thank you for your answer, it seems that my whole problem was a typing error, thank you very much for your time and help.

I'm going to try the auto-complete feature.