Darknet_io: Parsing for cost layer added

pull/16650/head
ashishiva3@gmail.com 5 years ago
parent e48ae883e9
commit 2b96a485e7
  1. 8
      modules/dnn/src/darknet/darknet_io.cpp

@ -556,7 +556,7 @@ namespace cv {
const size_t layer_type_size = line.find("]") - 1; const size_t layer_type_size = line.find("]") - 1;
CV_Assert(layer_type_size < line.size()); CV_Assert(layer_type_size < line.size());
std::string layer_type = line.substr(1, layer_type_size); std::string layer_type = line.substr(1, layer_type_size);
net->layers_cfg[layers_counter]["type"] = layer_type; net->layers_cfg[layers_counter]["layer_type"] = layer_type;
} }
break; break;
default: default:
@ -599,7 +599,7 @@ namespace cv {
for (it_type i = net->layers_cfg.begin(); i != net->layers_cfg.end(); ++i) { for (it_type i = net->layers_cfg.begin(); i != net->layers_cfg.end(); ++i) {
++layers_counter; ++layers_counter;
std::map<std::string, std::string> &layer_params = i->second; std::map<std::string, std::string> &layer_params = i->second;
std::string layer_type = layer_params["type"]; std::string layer_type = layer_params["layer_type"];
if (layer_type == "convolutional") if (layer_type == "convolutional")
{ {
@ -682,7 +682,7 @@ namespace cv {
else else
setParams.setConcat(layers_vec.size(), layers_vec.data()); setParams.setConcat(layers_vec.size(), layers_vec.data());
} }
else if (layer_type == "dropout") else if (layer_type == "dropout" || layer_type == "cost")
{ {
setParams.setIdentity(layers_counter-1); setParams.setIdentity(layers_counter-1);
} }
@ -806,7 +806,7 @@ namespace cv {
++darknet_layers_counter; ++darknet_layers_counter;
++cv_layers_counter; ++cv_layers_counter;
std::map<std::string, std::string> &layer_params = i->second; std::map<std::string, std::string> &layer_params = i->second;
std::string layer_type = layer_params["type"]; std::string layer_type = layer_params["layer_type"];
if (layer_type == "convolutional" || layer_type == "connected") if (layer_type == "convolutional" || layer_type == "connected")
{ {

Loading…
Cancel
Save