请问下Faster rcnn 中最后训练出自己的模型,得到的AP=0.00 mAP=0.000? 检测精度为什么是0呢?[已经解决,, TillTheWorldEnd 的回答可以解决哈]

大家好,本人最近在学习faster rcnn ,小白一枚,参考了很多教程。

环境: ubuntu+cuda+python

运行结果:

Saving cached annotations to /home/think/asuna/py-faster-rcnn/data/VOCdevkit2007/annotations_cache/annots.pkl
/home/think/asuna/py-faster-rcnn/tools/../lib/datasets/voc_eval.py:196: RuntimeWarning: invalid value encountered in divide
  rec = tp / float(npos)
/home/think/asuna/py-faster-rcnn/tools/../lib/datasets/voc_eval.py:41: RuntimeWarning: invalid value encountered in greater_equal
  if np.sum(rec >= t) == 0:
AP for face = 0.0000
Mean AP = 0.0000
~~~~~~~~
Results:
0.000
0.000
~~~~~~~~

--------------------------------------------------------------
Results computed with the **unofficial** Python eval code.
Results should be very close to the official MATLAB eval code.
Recompute with `./tools/reval.py --matlab ...` for

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 48
    评论
要使用PyTorchFaster R-CNN训练自己的数据集,你需要以下步骤: 1. 准备数据集:首先准备自己的数据集,包括图像和相应的标注信息。标注信息可以使用类似于PASCAL VOC或COCO的标注格式,其包含每个图像物体的边界框和类别。 2. 数据预处理:对于数据预处理,你可能需要对图像进行缩放、裁剪、归一化等操作,以确保它们与模型的输入要求相匹配。同时,还需要将标注信息转换成模型所需的格式。 3. 构建数据集类:创建一个自定义数据集类,继承PyTorch的Dataset类,并实现__getitem__和__len__方法。__getitem__方法应当返回图像和标注信息的元组,同时根据需要进行必要的转换。 4. 定义模型:使用PyTorch的torchvision.modelsFaster R-CNN模型作为基础,将其实例化为一个对象。你可以选择是否使用预训练模型权重,以加快训练过程。 5. 设置训练参数:通过定义优化器、学习率调度器以及损失函数等来设置训练的参数。常用的优化器是SGD和Adam,并且可以使用不同的学习率调度器来动态调整学习率。 6. 训练模型:使用准备好的数据集、模型训练参数来进行训练。在每个epoch,循环遍历数据集并使用模型进行前向传播和反向传播,最后更新模型的权重。 7. 评估和测试模型训练完成后,可以使用测试集或验证集对模型进行评估。评估指标可以包括准确率、召回率、平均精确度等。你可以根据需要进行必要的调整和优化。 8. 模型保存和使用:将训练好的模型保存为.pth文件,以便以后使用。你可以加载模型并在新的图像上进行预测,以获得目标检测的结果。 以上是使用PyTorchFaster R-CNN训练自己的数据集的大致步骤。根据具体的需求,你可能还需要进行其他的调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 48
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值