diff --git a/modules/dnn/src/darknet/darknet_io.cpp b/modules/dnn/src/darknet/darknet_io.cpp index 5e1b125a0c..b93d740109 100644 --- a/modules/dnn/src/darknet/darknet_io.cpp +++ b/modules/dnn/src/darknet/darknet_io.cpp @@ -556,7 +556,7 @@ namespace cv { const size_t layer_type_size = line.find("]") - 1; CV_Assert(layer_type_size < line.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; default: @@ -599,7 +599,7 @@ namespace cv { for (it_type i = net->layers_cfg.begin(); i != net->layers_cfg.end(); ++i) { ++layers_counter; 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") { @@ -682,7 +682,7 @@ namespace cv { else 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); } @@ -806,7 +806,7 @@ namespace cv { ++darknet_layers_counter; ++cv_layers_counter; 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") {