尝试在自定义模型上显示图像时出现 Yolov4 错误
Yolov4 error when trying to display image on custom model
我已经训练了我自己的模型,使用我自己的自定义数据集,使用 Yolov4,我已经下载了 .cfg
、.weights
和 .data
文件。
当我尝试 运行 我的模型时使用:
darknet.exe detector test cfg/obj.data cfg/yolov4-og.cfg custom-yolov4-detector_best.weights
我收到错误:
Error: l.outputs == params.inputs filters= in the [convolutional]-layer doesn't correspond to classes= or mask= in [yolo]-layer
我不知道这是否是我的错误,使用我 运行ning 的命令,还是我训练的模型的错误。
如有任何帮助,我们将不胜感激。
我假设您使用的是主要的暗网存储库 AlexeyAB。请确保您遵循以下说明:
确保在配置文件中分配正确的 classes
编号。
将3中的filters=255
改为filters=
(类 + 5)x3
[convolutional]
在每个 [yolo]
层之前,记住它只
必须是每个 [yolo]
层
之前的最后一个 [convolutional]
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L603
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L689
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L776
所以如果 classes=1
那么应该是 filters=18
。如果 classes=2
则写 filters=21
(一般filters取决于类, coords和masks个数,即filters=(类 + coords + 1)*,其中mask是anchors的索引。如果没有mask , 然后 filters=(类 + coords + 1)*num)
参考:https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects
我已经训练了我自己的模型,使用我自己的自定义数据集,使用 Yolov4,我已经下载了 .cfg
、.weights
和 .data
文件。
当我尝试 运行 我的模型时使用:
darknet.exe detector test cfg/obj.data cfg/yolov4-og.cfg custom-yolov4-detector_best.weights
我收到错误:
Error: l.outputs == params.inputs filters= in the [convolutional]-layer doesn't correspond to classes= or mask= in [yolo]-layer
我不知道这是否是我的错误,使用我 运行ning 的命令,还是我训练的模型的错误。
如有任何帮助,我们将不胜感激。
我假设您使用的是主要的暗网存储库 AlexeyAB。请确保您遵循以下说明:
确保在配置文件中分配正确的
classes
编号。将3中的
之前的最后一个filters=255
改为filters=
(类 + 5)x3[convolutional]
在每个[yolo]
层之前,记住它只 必须是每个[yolo]
层[convolutional]
https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L603 https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L689 https://github.com/AlexeyAB/darknet/blob/0039fd26786ab5f71d5af725fc18b3f521e7acfd/cfg/yolov3.cfg#L776
所以如果
classes=1
那么应该是filters=18
。如果classes=2
则写filters=21
(一般filters取决于类, coords和masks个数,即filters=(类 + coords + 1)*,其中mask是anchors的索引。如果没有mask , 然后 filters=(类 + coords + 1)*num)
参考:https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects