Some bugs in "ICaffeParser"

I used “ICaffeParser” to parse caffemodel and prototxt as follows:
INetworkDefinition* network = builder->createNetworkV2(1U << static_cast<uint32_t>(NetworkDefinitionCreationFlag::kEXPLICIT_BATCH));
const IBlobNameToTensor* blobNameToTensor = parser->parse(deployFile,modelFile, *network, nvinfer1::DataType::kFLOAT);

There is a “Permute” layer in prototxt. Like that:
layer {
name: “permute”
type: “Permute”
bottom: “conv1”
top: “conv1_permute”
order: 0
order: 3
order: 2
order: 1
If the size of input layer is fixed, all is ok.
However, if the size is dynamic as follows:
input: “data”
input_shape {
dim: 1
dim: 1
dim: 32
dim: -1
errors occured:
caffe/caffeParser.cpp:1599: nvinfer1::ILayer* parsePermute(nvinfer1::INetworkDefinition&, const ditcaffe::LayerParameter&, CaffeWeightFactory&, BlobNameToTensor&): Assertion `volume(topDims) == volume(bottomDims)’ failed.

centos 7.2
titan RTX

help me!!


Can you please share the sample script and model file to reproduce the issue?

Meanwhile, please refer to the below links for sample example and steps to work with dynamic shapes:


I had sample problem, but it was working on TensorRT 6 , on nano platform

caffe/caffeParser.cpp:1533: nvinfer1::ILayer* parser::caffe::parsePermute(nvinfer1::INetworkDefinition&, const ditcaffe::LayerParameter&, parser::caffe::CaffeWeightFactory&, parser::caffe::BlobNameToTensor&): Assertion `volume(topDims) == volume(bottomDims)’ failed.