TensorRT caffe use dynamic_input; after setbindingdimension, output dim is incorrect!

I want to build network with dynamic input and get the corresponding output with right dim, but when I set different input dims . Output dim is calculate by the input param set by caffemodel.prototxt [1,3,216,384] (the original size) .and unchanged.

When I add a new input layer with dynamic shape [-1,3,-1,-1] ,and set inputdim at runtime [1,3,108,192] or [1,3,432,768], the outputdim getted from context->getBindingDimension() is unchanged and always be the dim which calculated according to [1,3,216,384].

input output size should be
[1,3,216,384] [4,6300,1,1]
[1,3,108,192] [4,1584,1,1]
[1,3,432,768] [4,24336,1,1]

before set: context->setBindingDimensions(0, nvinfer1::Dims4(1, 3, input_height[choice], input_width[choice])) , the input dim is [-1,3,-1,-1] ; and output nbDim is -1;

after setting: input dim, input dim is set correct and change to [1 3 108 192] ,
but what ever input dim changes , the output dim is always [4,6300,1,1].

Environment

TensorRT Version : 7.1.3.
CUDA Version : 10.2
CUDNN Version : 8.0.