R-CNN:训练和测试 Faster R-CNN 模型中遇到的问题

简介: 使用自己标注的数据集用 Faster R-CNN 训练了两个模型:VGG16 和 ResNet-50 ,在训练和测试的时候还是踩了很多坑,把遇到的问题及解决方法总结了一下,以供以后回顾。

最近使用自己标注的数据集用 Faster R-CNN 训练了两个模型:VGG16 和 ResNet-50 ,在训练和测试的时候还是踩了很多坑,把遇到的问题及解决方法总结了一下,以供以后回顾。


一、训练

1. 错误:./tools/train_faster_rcnn_end2end.py is not found

执行文件的位置不正确,注意所有的命令最好都在 faster rcnn 的根目录中执行。

2. 错误:'module' object has no attribute 'text_format'

./lib/fast_rcnn/train.py 文件里添加 import google.protobuf.text_format

3. 错误:TypeError: ‘numpy.float64’ object cannot be interpreted as an index

这个错误有人说可以降低 numpy 的版本来解决,本人试了,但还会报其他的错误,所以并不能算解决。

因为新版的 numpy 不能使用 float 类型来进行索引了,解决方法:转换类型

1./py-faster-rcnn/lib/roi_data_layer/minibatch.py

# 在第26行:
    fg_rois_per_image = np.round(cfg.TRAIN.FG_FRACTION * rois_per_image)
# 修改为:
    fg_rois_per_image = np.round(cfg.TRAIN.FG_FRACTION * rois_per_image).astype(np.int)

2./py-faster-rcnn/lib/datasets/ds_utils.py

# 在第12行:
    hashes = np.round(boxes * scale).dot(v)
# 修改为:
    hashes = np.round(boxes * scale).dot(v).astype(np.int)

3./py-faster-rcnn/lib/fast_rcnn/test.py

# 在129行:
        hashes = np.round(blobs['rois'] * cfg.DEDUP_BOXES).dot(v)
# 修改为:
        hashes = np.round(blobs['rois'] * cfg.DEDUP_BOXES).dot(v).astype(np.int)

4./py-faster-rcnn/lib/rpn/proposal_target_layer.py

# 在60行:
        fg_rois_per_image = np.round(cfg.TRAIN.FG_FRACTION * rois_per_image)
# 修改为:
        fg_rois_per_image = np.round(cfg.TRAIN.FG_FRACTION * rois_per_image).astype(np.int)
# 在123行起:
    for ind in inds:
        cls = clss[ind]
        start = 4 * cls
        end = start + 4
# 修改为:
    for ind in inds:
        ind = int(ind)
        cls = clss[ind]
        start = int(4 * cls)
        end = int(start + 4)
目录
相关文章
|
12天前
|
机器学习/深度学习
ACM MM24:复旦提出首个基于扩散模型的视频非限制性对抗攻击框架,主流CNN和ViT架构都防不住它
【9月更文挑战第23天】复旦大学研究团队提出了ReToMe-VA,一种基于扩散模型的视频非限制性对抗攻击框架,通过时间步长对抗性潜在优化(TALO)与递归令牌合并(ReToMe)策略,实现了高转移性且难以察觉的对抗性视频生成。TALO优化去噪步骤扰动,提升空间难以察觉性及计算效率;ReToMe则确保时间一致性,增强帧间交互。实验表明,ReToMe-VA在攻击转移性上超越现有方法,但面临计算成本高、实时应用受限及隐私安全等挑战。[论文链接](http://arxiv.org/abs/2408.05479)
25 3
|
27天前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
|
26天前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
2月前
|
机器学习/深度学习
CNN模型验证和CNN模型保存
【8月更文挑战第10天】CNN模型验证和CNN模型保存。
59 27
|
2月前
|
机器学习/深度学习
CNN网络编译和训练
【8月更文挑战第10天】CNN网络编译和训练。
77 20
|
2月前
|
机器学习/深度学习
加载CNN保存模型
【8月更文挑战第10天】加载CNN保存模型。
40 12
|
2月前
|
机器学习/深度学习 人工智能
高于临床测试3倍准确率!剑桥大学开发AI模型,提前6年预测阿尔茨海默症
【8月更文挑战第9天】剑桥大学研发的人工智能模型在预测阿尔茨海默症方面取得突破,准确率比传统临床测试高三倍,能提前六年预测疾病发生。该模型基于深度学习,利用大量临床及神经影像数据识别生物标志物,预测准确性达80%。这一成果有望促进早期干预,改善患者预后,但仍需更大规模研究验证,并解决隐私与公平性等问题。论文已发表于《The Lancet》子刊。
38 6
|
2月前
|
机器学习/深度学习 数据采集 测试技术
利用Python实现简单的机器学习模型软件测试的艺术与科学:探索自动化测试框架的奥秘
【8月更文挑战第27天】在本文中,我们将一起探索如何通过Python编程语言创建一个简单的机器学习模型。我们将使用scikit-learn库中的线性回归模型作为示例,并通过一个实际的数据集来训练我们的模型。文章将详细解释每一步的过程,包括数据预处理、模型训练和预测结果的评估。最后,我们会用代码块展示整个过程,确保读者能够跟随步骤实践并理解每个阶段的重要性。
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其应用
【9月更文挑战第24天】本文将深入探讨深度学习中的一种重要模型——卷积神经网络(CNN)。我们将通过简单的代码示例,了解CNN的工作原理和应用场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
36 1
|
15天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【9月更文挑战第19天】在人工智能的浩瀚星海中,卷积神经网络(CNN)如同一颗璀璨的星辰,照亮了图像处理的天空。本文将深入CNN的核心,揭示其在图像识别领域的强大力量。通过浅显易懂的语言和直观的比喻,我们将一同探索CNN的奥秘,并见证它如何在现实世界中大放异彩。

热门文章

最新文章

下一篇
无影云桌面