2022年12月 && Faster RCNN训练自己的数据集 && 配置环境相对简洁

  • 以往的大多数教程都是数年前的Faster RCNN源码,因为旧环境和现有环境的不同,导致环境配置方面出现一系列问题。
  • 特别是利用setup.py或者make.sh配置所需的环境时,遇到并解决一个又一个的问题,遗憾的是,失败总是贯彻全局。
  • 解决方案:找到近年的Faster RCNN源码,观察是否需要setup.py,作为一个Lucky Boy,在此分享我的操作流程。

源码链接:GitHub - bubbliiiing/faster-rcnn-pytorch: 这是一个faster-rcnn的pytorch实现的库,可以利用voc数据集格式的数据进行训练。https://github.com/bubbliiiing/faster-rcnn-pytorch

 源码编写的非常棒!里面也详细叙述了如何使用此源码,我在这里简要叙述一下重要步骤。

目录

1、配置环境

2、下载预训练模型

3、处理数据集

4、代码跑通截图:

5、训练生成文件:


1、配置环境

可以直接利用命令直接安装:

pip install requirement.txt

建议:自己耐心安装所缺少的环境,特别是:

CUDA、CUDNN和Torch的版本一定要对应。

2、下载预训练模型

官网提供两个预训练模型:

共同点:基于VOC07+12数据集进行训练。

不同点:前者的骨干网络为Resnet50,后者的骨干网络为VGG16。

注意:训练过程中,需要选取使用哪一种骨干网络,此时需要和预训练模型中的骨干网络对应。

3、处理数据集

(1)配置的数据集路径如上图左边的列表所示:

  • Annotations:xml文件
  • ImageSets/Main:索引文件
  • JPEGimages:图像文件

(2)修改class.txt:填写自己数据集的类别。 

(3)数据集索引文件:编写可以生成数据集索引的py文件(参考文件在文章末尾)。

(4)训练所需txt文件:通过voc_annotation.py文件根据数据集所在的路径,生成训练所必须的文件:train.txt and val.txt。

注意:voc_annotation.py中包含生成索引文件的代码。因为本人数据集是提前随机8:1:1划分完毕的,voc_annotation.py里面包含随即划分,所以本人从voc_annotation.py中提取代码单独作为索引py文件。

4、代码跑通截图:

5、训练生成文件:

上图包含checkpoints权重文件和训练过程中的Loss和mAP文件,这里的mAP默认为0.5,代表NMS过程中的IOU=0.5,如下图所示。

附录:

Index.py

import os
import random 


xmlfilepath=r'./JPEGImages/val/'
saveBasePath=r".\ImageSets\Main/"
 

temp_xml = os.listdir(xmlfilepath)
total_xml = []
for xml in temp_xml:
    if xml.endswith(".jpg") or xml.endswith('.png'):
        total_xml.append(xml)

num=len(total_xml)  #xml文件总数
print(num)
list = range(num)  

ftrain = open(os.path.join(saveBasePath,'val.txt'), 'w')

for i  in list:  
    name = total_xml[i].split('.')[0]+'\n'
    ftrain.write(name)

ftrain.close()

>>> 如有疑问,欢迎评论区一起探讨。

  • 1
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 要配置 Faster R-CNN 在 PyTorch 中的环境,您需要执行以下步骤: 1. 安装 PyTorch:您可以从 PyTorch 官方网站下载并安装 PyTorch。 2. 安装必要的 Python 库:您需要安装一些必要的 Python 库,例如 NumPy、Pillow、matplotlib 等。 3. 下载 Faster R-CNN 代码:您可以从 GitHub 上下载 Faster R-CNN 的代码。 4. 下载训练模型:您需要下载一个预训练模型,例如在 COCO 数据集训练的模型。 5. 运行 Faster R-CNN:您可以使用预训练模型运行 Faster R-CNN,并在您的数据集上进行微调。 以上是配置 Faster R-CNN 在 PyTorch 中的基本步骤。具体的操作细节可以参考 PyTorchFaster R-CNN 的官方文档。 ### 回答2: Faster R-CNN是一种高效的目标检测算法,可用于识别图像中的多个对象。要在PyTorch中配置Faster R-CNN环境,以下是需要遵循的步骤: 第一步:安装PyTorch 在开始Faster R-CNN环境配置之前,需要先安装PyTorch。可以从官方网站或PyPI上下载和安装文档建议的PyTorch版本。 第二步:安装依赖项 安装必要的依赖库以使Faster R-CNN算法正常工作。要安装依赖项,可以使用以下命令: pip install numpy matplotlib opencv-python easydict pyyaml 这将安装numpy, matplotlib, opencv-python, easydict和pyyaml依赖库。 第三步:下载Faster R-CNN库 在PyTorch中配置Faster R-CNN环境需要下载Faster R-CNN库代码。可以使用以下命令从GitHub上下载库: git clone https://github.com/jwyang/faster-rcnn.pytorch.git 第四步:下载训练模型 在训练Faster R-CNN模型之前,需要下载训练模型。可以从官方网站或PyTorch官方GitHub库下载预先训练过的Faster R-CNN模型。 第五步:配置环境 配置Faster R-CNN环境之前,需要确保正确设置路径和环境变量等参数。在要运行代码的主机上,需要设置PYTHONPATH环境变量,以引用Faster R-CNN库和预训练的模型。 export PYTHONPATH=path/to/faster-rcnn.pytorch:$PYTHONPATH 第六步:运行代码 完成上述步骤后,可以在PyTorch中运行Faster R-CNN代码并进行目标检测。要执行代码,需要使用以下命令: python demo.py 上述步骤是Faster R-CNN环境配置的基本步骤。但是,还有一些其他步骤可以在增强配置和效果方面提供更多的帮助。最重要的是对Faster R-CNN代码进行调整,以满足要求,以便在 PyTorch中获取最佳性能。 ### 回答3: Faster R-CNN是一种基于深度学习目标检测算法,能够在图像中识别出目标物体的位置、大小和种类等信息。而PyTorch是当前最流行的深度学习框架之一,提供了简单易用、高效、灵活的神经网络构建工具。下面给出在Ubuntu系统上配置PyTorch+Faster R-CNN的步骤。 1. 安装Anaconda:在Anaconda官网上下载相应版本安装包,执行安装程序,安装完成后使用source activate ${env_name}命令创建和使用虚拟环境。 2. 安装CUDA和cuDNN:CUDA是一款由NVIDIA推出的并行计算平台和编程模型,是深度学习模型的加速器;cuDNN是深度神经网络加速库,可以更快地训练和推理深度神经网络。先在NVIDIA官网上下载对应版本的CUDA和cuDNN并安装,然后将cuDNN解压到CUDA的对应目录下。 3. 克隆Faster R-CNN代码:在GitHub上下载Faster R-CNN的源代码,并通过终端进入代码目录,运行conda create --name ${env_name} --file requirements.txt命令,以创建conda环境及依赖包。 4. 下载训练模型:在Faster R-CNN中使用预训练模型可以加速模型的收敛和提升模型性能。在官网上下载ImageNet预训练模型,将模型文件解压到相应目录下。 5. 安装PyTorch:由于Faster R-CNN使用PyTorch框架,所以需要先安装PyTorch。终端进入conda环境后,在终端中输入conda install pytorch torchvision -c pytorch命令,以安装PyTorch及其依赖项。 6. 进行模型训练和测试:在终端中进入Faster R-CNN代码目录,输入python trainval_net.py --cuda --m voc命令,便可开始训练模型。在模型训练完成后,输入python test_net.py --cuda --proposal=rpn --load_dir {save_dir}命令,以测试模型的性能并输出结果。 总之,Faster R-CNN环境配置PyTorch需要安装Anaconda、CUDA、cuDNN、PyTorchFaster R-CNN等软件,同时在训练和测试时需要进行相关设置,配合合适的数据集以及预训练模型,才能得到可靠的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flying Bulldog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值