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)
目录
相关文章
|
10天前
|
机器学习/深度学习 人工智能 编解码
【AI系统】轻量级CNN模型新进展
本文继续探讨CNN模型的小型化,涵盖ESPNet、FBNet、EfficientNet和GhostNet系列。ESPNet系列通过高效空间金字塔卷积减少运算量;FBNet系列采用基于NAS的轻量化网络设计;EfficientNet系列通过复合缩放方法平衡网络深度、宽度和分辨率;GhostNet系列则通过Ghost模块生成更多特征图,减少计算成本。各系列均旨在提升模型效率和性能,适用于移动和边缘设备。
29 6
|
11天前
|
机器学习/深度学习 存储 人工智能
【AI系统】轻量级CNN模型综述
本文介绍了几种常见的小型化CNN模型,包括SqueezeNet、ShuffleNet、MobileNet等系列。这些模型通过减少参数量和计算量,实现在有限资源下高效运行,适用于存储和算力受限的场景。文章详细解释了各模型的核心技术和优化策略,如Fire Module、Channel Shuffle、Depthwise Separable Convolutions等,旨在帮助读者理解和应用这些高效的小型化CNN模型。
23 3
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
2月前
|
机器学习/深度学习 编解码 算法
【深度学习】经典的深度学习模型-01 开山之作:CNN卷积神经网络LeNet-5
【深度学习】经典的深度学习模型-01 开山之作:CNN卷积神经网络LeNet-5
46 0
|
3月前
|
机器学习/深度学习
ACM MM24:复旦提出首个基于扩散模型的视频非限制性对抗攻击框架,主流CNN和ViT架构都防不住它
【9月更文挑战第23天】复旦大学研究团队提出了ReToMe-VA,一种基于扩散模型的视频非限制性对抗攻击框架,通过时间步长对抗性潜在优化(TALO)与递归令牌合并(ReToMe)策略,实现了高转移性且难以察觉的对抗性视频生成。TALO优化去噪步骤扰动,提升空间难以察觉性及计算效率;ReToMe则确保时间一致性,增强帧间交互。实验表明,ReToMe-VA在攻击转移性上超越现有方法,但面临计算成本高、实时应用受限及隐私安全等挑战。[论文链接](http://arxiv.org/abs/2408.05479)
84 3
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
66 7
|
18天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
21 1
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。

热门文章

最新文章