在OpenCV DNN中解析cfg文件froom YOLO-Darknet
Parsing the cfg file froom YOLO-Darknet in OpenCV DNN
我点击了这个链接,用我自己的数据集训练yolo。我没有使用CIAFR10数据。https://pjreddie.com/darknet/train-cifar/
这是名为cifar的cfg文件.cfg
[net]
batch=128
subdivisions=1
height=28
width=28
channels=3
max_crop=32
min_crop=32
hue=.1
saturation=.75
exposure=.75
learning_rate=0.001
policy=poly
power=4
max_batches =1000
momentum=0.9
decay=0.0005
[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[convolutional]
filters=4
size=1
stride=1
pad=1
activation=leaky
[avgpool]
[softmax]
groups=1
[cost]
type=sse
它正确地对 Ubuntu 16.04 上的测试图像进行分类。我已经在OpenCV3.4 DNN模块中使用了这个cgf文件和相应的wights。我正在使用Visual Studio 2017。
String modelFile = "cifar_small.cfg";
String modelBinary = "cifar_small.weights";
执行以下行时,我收到错误消息:
dnn::Net net = readNetFromDarknet(modelFile,modelBinary);
错误信息:OpenCV 错误:解析错误(未知层类型:avgpool(在 'cv::d nn::d arknet::ReadDarknetFromCfgFile,文件 C:\build\master_winpack-build-win64-vc14\opencv\modules\dnn\src\darknet\darknet_io.cpp,第 503 行
另外,对于sooftmax和看。看起来 DNN 无法理解这些术语。有人可以告诉我如何解决这些问题吗?
你使用相同的 cfg 文件吗?尝试将行尾转换为特定于操作系统的行尾。
平均池部分似乎为空。如果只是将其删除会怎样?
如果我删除 avgpool,那么 net.forward(( 的分类结果是不可读的。它是 1 个通道的形式,行和列等于 0。当我从 tensorflow( .pb( 传递另一个模型时,我为每个类获得 4 个概率。谢谢
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 用c++从输入文件中读取另一行
- 在OpenCV DNN中解析cfg文件froom YOLO-Darknet
- 食人魔异常(6:文件未找到异常):找不到'ogre.cfg'文件
- 如何在.cfg.txt文件中读取
- 如何在 INI、CFG 或 XML 文件中存储C++变量
- C ++如何读取CFG文件更复杂