R3Det代码复现

mmdetection采坑实记(r3det)

前言

代码链接:GitHub - SJTU-Thinklab-Det/r3det-pytorch: R3Det based on mmdet 2.19.0

论文链接:https://arxiv.org/abs/1908.05612

显卡:RTX3090

一、创建环境

conda create -n mmdetection python=3.7#conda create -n 环境名 python=版本
conda activate mmdetection 
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forg

二、配置R3DET

1.下载代码文件

git clone https://github.com/SJTU-Thinklab-Det/r3det-pytorch.git --recursive
cd mmdetection

2.安装mmcv-full

#使用以下命令查看 CUDA 和 PyTorch 的版本
python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'
#官网https://mmcv.readthedocs.io/zh_CN/latest/get_started/installation.html查看mmcv-full版本
pip install mmcv-full==1.4.8 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8/index.html

3.安装r3det

pip install mmdet==2.19.0
pip install -r requirements.txt
pip install -v -e . #成功显示Successfully installed r3det-0.1.0

三、切割数据集

由于我运行的是dotav1.0的数据集,切割将原始图像裁剪成1024×1024个重叠200的补丁。

1.修改路径

./tools/split/split_configs/dota1_0/ss_train.json
./tools/split/split_configs/dota1_0/ss_val.json
./tools/split/split_configs/dota1_0/ss_test.json

2.切割

python tools/split/img_split.py --base_json tools/split/split_configs/dota1_0/ss_train.json
python tools/split/img_split.py --base_json tools/split/split_configs/dota1_0/ss_val.json
python tools/split/img_split.py --base_json tools/split/split_configs/dota1_0/ss_trest.json

四、训练

CUDA_VISIBLE_DEVICES=0 PORT=29500 ./tools/dist_train.sh configs/rretinanet/rretinanet_obb_r50_fpn_1x_dota_v3.py 1

五、error处理

1.运行pip install -v -e .报错,报错信息如下

在这里插入图片描述
解决方法是:pytorch cuda mmcv-full 之间的对应关系,一定要适配
在这里插入图片描述
pytorch和cuda版本
在这里插入图片描述

这是运行成功的一项配置。

torch官网:https://pytorch.org/
mmcv-full下载官网:https://mmcv.readthedocs.io/zh_CN/latest/get_started/installation.html
查看pytorch和cuda版本代码:python -c ‘import torch;print(torch.version);print(torch.version.cuda)’

  • 暴力解决:重新搭建环境,配置版本*

2.训练过程戛然而止

在这里插入图片描述
解决办法:因为我用的是3090的显卡,最低支持的cuda1.11,所以我又重新配置了环境

3.epoch=1的结果

*加粗样式

epoch=12的结果显卡溢出

在这里插入图片描述
内存不足,硬件问题,可以降低batchsize和bbox的数量。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要使用R3Det训练自己的数据集,你需要进行以下几个步骤: 1. 下载R3Det代码。你可以在GitHub上找到R3Det代码链接。下载并配置好代码。 2. 配置训练脚本。修改train.py文件的配置参数,主要是--config和--work-dir。--config是指向训练配置文件的路径,--work-dir是指定模型和日志保存的文件夹。 3. 修改配置文件。根据你的需求,选择一个适合的配置文件进行修改。例如,你可以选择r3det_r50_fpn_1x_dota_oc.py作为配置文件,根据你的类别数量修改num_classes参数。同时,你还需要修改mmrotate/mmrotate/datasets/dota.py中的类别名字。 4. 修改数据文件夹路径。在mmrotate/configs/base/datasets/dotav1.py中修改data_root参数,将其设置为你自己的数据文件夹路径。该文件夹应包括train、trainval和test三个文件夹,并在这三个文件夹内部创建annfiles和images文件夹,并将相应的数据文件放入其中。 5. 调整训练参数。你可以根据需要修改其他的训练参数。例如,在configs/base/schedules/schedule_1x.py中可以调整评估的间隔、优化器的学习率和动量等参数。 6. 开始训练。运行train.py脚本,即可开始使用R3Det训练自己的数据集。训练过程中的模型和日志将保存在指定的work-dir文件夹中。 请注意,以上步骤仅为一般指导,具体的操作可能因你的数据集和需求而有所不同。你需要根据实际情况进行相应的修改和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [R3Det代码复现](https://blog.csdn.net/m0_64203255/article/details/130025291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [mmrotate旋转目标检测框架从环境配置到训练自己的数据集](https://blog.csdn.net/weixin_41868104/article/details/125557687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值