使用TensorRT Caffe解析器解析Mobilenet-SSD时出错,“ ditcaffe.LayerParameter”没有名为“ prior_box_param”的字段

时间:2018-11-16 09:52:33

标签: neural-network caffe object-detection tensorrt nvidia-jetson

我正在使用TensorRT caffe解析器从https://github.com/chuanqi305/MobileNet-SSD解析MobileNet-SSD caffe模型。我在Jetson TX2中使用Jetpack 3.3作为平台。如何修复nvinfer库中的此错误? API中甚至还有一个TensorRT类nvinfer1::plugin::PriorBoxParameters。但是此层句柄似乎未定义。图层参数名称和格式是否有错误?还是我们必须为此创建一个自定义图层插件。有人为此实现吗?

错误如下,

[libprotobuf ERROR google/protobuf/text_format.cc:298] Error parsing text-format ditcaffe.NetParameter: 1245:18: Message type "ditcaffe.LayerParameter" has no field named "prior_box_param".
ERROR: CaffeParser: Could not parse deploy file

与此错误相关的源代码行,

m_network = m_builder->createNetwork();
m_parser = createCaffeParser();
const IBlobNameToTensor* blobNameToTensor = m_parser->parse(deployFpath, modelFpath, *network, DataType::kFLOAT);

prototxt文件中给定层错误,

layer {
  name: "conv11_mbox_priorbox"
  type: "PriorBox"
  bottom: "conv11"
  bottom: "data"
  top: "conv11_mbox_priorbox"
  prior_box_param {
    min_size: 60.0
    aspect_ratio: 2.0
    flip: true
    clip: false
    variance: 0.1
    variance: 0.1
    variance: 0.2
    variance: 0.2
    offset: 0.5
  }
} 

1 个答案:

答案 0 :(得分:0)

您必须从ptototxt文件中删除所有具有_param的块,然后应使用插件API删除图层。 请访问此链接上的讨论以获得清晰的了解:https://github.com/chenzhi1992/TensorRT-SSD/issues/5