Ошибка анализа Mobilenet-SSD с использованием TensorRT Caffe Parser, ditcaffe.LayerParameter не имеет поля с именем Prior_box_param

Я разбираю модель кафе MobileNet-SSD из https://github.com/chuanqi305/MobileNet-SSD с помощью парсера TensorRT caffe. Я использую Jetpack 3.3 в Jetson TX2 в качестве платформы. Как исправить эту ошибку из библиотеки 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
  }
} 

person Chinthaka Gamanayake    schedule 16.11.2018    source источник


Ответы (1)


Вы должны удалить все блоки, которые имеют _param из файла ptototxt, затем вы должны удалить слои с помощью API плагина. Посетите обсуждение по этой ссылке для четкого понимания: https://github.com/chenzhi1992/TensorRT-SSD/issues/5

person Mukesh Karanth    schedule 15.03.2019