0

我正在尝试在 C++ 的 MacO 上使用 OpenCV 的 (4.0.1) DNN 库来使用 Yolov3。我正在尝试使用cv::dnn::readNetFromDarknet加载 yolov3.cfg 文件,但出现此错误:

"(-212:Parsing error) Unknown layer type: net in function
'ReadDarknetFromCfgStream'"

我已经确保我的项目中的 yolov3.cfg 与它在网络上的https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg匹配。如果我将“ [net]”更改为其他内容,例如“ [layer]”,则错误将更改为:

"(-212:Parsing error) Unknown layer type: layer in function
'ReadDarknetFromCfgStream'"

几乎就像 cfg 文件错误或 opencv 没有正确读取它一样。

配置文件的开头如下所示:

[net]
# Testing
# batch=1
# subdivisions=1
# Training
batch=64
subdivisions=16
width=608
height=608
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1

learning_rate=0.001
burn_in=1000
max_batches = 500200
policy=steps
steps=400000,450000
scales=.1,.1

这就是我认为问题所在。

我加载网络的代码是:

const char * pathStart = gGetRootAppPath();
pathEnd = "/yolo/yolov3.cfg";
std::string modelConfiguration = pathStart + pathEnd;
pathEnd = "/yolo/yolov3.weights";
std::string modelWeights = pathStart + pathEnd;

//set up the neural network
cv::dnn::readNetFromDarknet(modelConfiguration,modelWeights);

任何帮助将非常感激。

4

0 回答 0