【问题标题】:Yolov4 error when trying to display image on custom model尝试在自定义模型上显示图像时出现 Yolov4 错误
【发布时间】:2021-01-23 02:14:19
【问题描述】:

我已经使用我自己的自定义数据集和 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 

我不知道这是我正在运行的命令的错误,还是我训练的模型的错误。

任何帮助将不胜感激。

【问题讨论】:

  • 您能分享您的 .cfg 和 .data 文件吗?这也可能是由于输出类号设置不正确。
  • @Mahesh 我不再收到该错误,请参阅我的最新帖子stackoverflow.com/questions/65874720/…

标签: cmd computer-vision conv-neural-network yolo darknet


【解决方案1】:

我假设您正在使用主要的暗网 repo AlexeyAB。请确保您遵循以下说明:

  1. 确保在配置文件中分配正确的classes 编号。

  2. 在 3 中将 filters=255 更改为 filters=(classes + 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

    (通常过滤器取决于掩码的类、坐标和数量,即过滤器=(类+坐标+1)*,其中掩码是锚的索引。如果掩码不存在,则过滤器=(类+坐标+1 )*个数)

参考:https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects

【讨论】:

    猜你喜欢
    • 2017-10-27
    • 2019-03-17
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2021-11-03
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多